From 9e72a7b61e21effae5dce476fd7687c682f3c8cb Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 17:04:07 -0600 Subject: [PATCH 01/34] update --- README.md | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 94f482358..f08c1c52b 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,5 @@ - -[![Project Banner](.github/banner.png?raw=true)](https://cpco.io/homepage) - [![Latest Release](https://img.shields.io/github/release/cloudposse/terraform-aws-components.svg)](https://github.com/cloudposse/terraform-aws-components/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com) +[![Project Banner](.github/banner.png?raw=true)](https://cpco.io/homepage)

[![Latest Release](https://img.shields.io/github/release/cloudposse/terraform-aws-components.svg)](https://github.com/cloudposse/terraform-aws-components/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com)

@@ -12,7 +10,7 @@ ** DO NOT EDIT THIS FILE ** - ** This file was automatically generated by the `build-harness`. + ** This file was automatically generated by the `cloudposse/build-harness`. ** 1) Make all changes to `README.yaml` ** 2) Run `make init` (you only need to do this once) ** 3) Run`make readme` to rebuild this file. @@ -121,7 +119,7 @@ For additional context, refer to some of these links. ## ✨ Contributing -This project is under active development, and we encourage contributions from our community. +This project is under active development, and we encourage contributions from our community. Many thanks to our outstanding contributors: @@ -158,21 +156,26 @@ Sign up for [our newsletter][newsletter] that covers everything on our technolog [Join us every Wednesday via Zoom][office_hours] for our weekly "Lunch & Learn" sessions. It's **FREE** for everyone! -## About +## About -This project is maintained and funded by [Cloud Posse, LLC][website]. +This project is maintained by [Cloud Posse, LLC][website]. -We are a [**DevOps Accelerator**][commercial_support]. We'll help you build your cloud infrastructure from the ground up so you can own it. Then we'll show you how to operate it and stick around for as long as you need us. +We are a [**DevOps Accelerator**][commercial_support] for funded startups and enterprises. +Use our ready-to-go terraform architecture blueprints for AWS to get up and running quickly. +We build it with you. You own everything. Your team wins. Plus, we stick around until you succeed. [![Learn More](https://img.shields.io/badge/learn%20more-success.svg?style=for-the-badge)][commercial_support] -Work directly with our team of DevOps experts via email, slack, and video conferencing. +*Your team can operate like a pro today.* + +Ensure that your team succeeds by using our proven process and turnkey blueprints. Plus, we stick around until you succeed. -We deliver 10x the value for a fraction of the cost of a full-time engineer. Our track record is not even funny. If you want things done right and you need it done FAST, then we're your best bet. +
+ πŸ“š What's included? - **Reference Architecture.** You'll get everything you need from the ground up built using 100% infrastructure as code. -- **Release Engineering.** You'll have end-to-end CI/CD with unlimited staging environments. +- **Deployment Strategy.** You'll have a battle-tested deployment strategy using GitHub Actions that's automated and repeatable. - **Site Reliability Engineering.** You'll have total visibility into your apps and microservices. - **Security Baseline.** You'll have built-in governance with accountability and audit logs for all changes. - **GitOps.** You'll be able to operate your infrastructure via Pull Requests. @@ -181,13 +184,15 @@ We deliver 10x the value for a fraction of the cost of a full-time engineer. Our - **Troubleshooting.** You'll get help to triage when things aren't working. - **Code Reviews.** You'll receive constructive feedback on Pull Requests. - **Bug Fixes.** We'll rapidly work with you to fix any bugs in our projects. +
[![README Commercial Support][readme_commercial_support_img]][readme_commercial_support_link] ## License -[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0) +[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0) -See [LICENSE](LICENSE) for full details. +
+See [LICENSE](LICENSE) for full details. ```text Licensed to the Apache Software Foundation (ASF) under one @@ -207,6 +212,7 @@ KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ``` +
## Trademarks From 55f0cda830862050518ff7370e978bd8542a7c27 Mon Sep 17 00:00:00 2001 From: cloudpossebot Date: Mon, 5 Feb 2024 23:05:20 +0000 Subject: [PATCH 02/34] pre-commit fixes --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index f08c1c52b..5ceb57a7c 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ For additional context, refer to some of these links. ## ✨ Contributing -This project is under active development, and we encourage contributions from our community. +This project is under active development, and we encourage contributions from our community. Many thanks to our outstanding contributors: @@ -156,13 +156,13 @@ Sign up for [our newsletter][newsletter] that covers everything on our technolog [Join us every Wednesday via Zoom][office_hours] for our weekly "Lunch & Learn" sessions. It's **FREE** for everyone! -## About +## About -This project is maintained by [Cloud Posse, LLC][website]. +This project is maintained by [Cloud Posse, LLC][website]. -We are a [**DevOps Accelerator**][commercial_support] for funded startups and enterprises. -Use our ready-to-go terraform architecture blueprints for AWS to get up and running quickly. +We are a [**DevOps Accelerator**][commercial_support] for funded startups and enterprises. +Use our ready-to-go terraform architecture blueprints for AWS to get up and running quickly. We build it with you. You own everything. Your team wins. Plus, we stick around until you succeed. [![Learn More](https://img.shields.io/badge/learn%20more-success.svg?style=for-the-badge)][commercial_support] From 3a3714f670996493ce2817d10eec54ee81efa95b Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 17:10:26 -0600 Subject: [PATCH 03/34] remove precommit workflow --- ...e-commit-check-and-autocommit-changes.yaml | 100 ------------------ 1 file changed, 100 deletions(-) delete mode 100644 .github/workflows/pre-commit-check-and-autocommit-changes.yaml diff --git a/.github/workflows/pre-commit-check-and-autocommit-changes.yaml b/.github/workflows/pre-commit-check-and-autocommit-changes.yaml deleted file mode 100644 index 63b2f1b36..000000000 --- a/.github/workflows/pre-commit-check-and-autocommit-changes.yaml +++ /dev/null @@ -1,100 +0,0 @@ -name: pre-commit-check-and-autocommit-changes - -on: - pull_request_target: - types: [labeled, opened, synchronize, unlabeled] - -jobs: - run-pre-commit-checks-and-autocommit-changes: - runs-on: ubuntu-latest - if: github.event.pull_request.state == 'open' - steps: - - name: Privileged Checkout - uses: actions/checkout@v2 - with: - fetch-depth: 0 - token: ${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }} - repository: ${{ github.event.pull_request.head.repo.full_name }} - # Check out the PR commit, not the merge commit - # Use `ref` instead of `sha` to enable pushing back to `ref` - ref: ${{ github.event.pull_request.head.ref }} - - - name: Get List of Modified files - id: get-modified-files - shell: bash -x -e -o pipefail {0} - env: - BASE_REF: ${{ github.base_ref }} - HEAD_REF: ${{ github.head_ref }} - run: | - MODIFIED_FILES=$(git diff --name-only origin/${BASE_REF} origin/${HEAD_REF}) - if [ -z "$MODIFIED_FILES" ]; then - echo "No changed files detected on this branch? This must be an error." - exit 1 - else - echo "Running checks on the following files: ${MODIFIED_FILES}" - echo "::set-output name=modified_files::$(echo $MODIFIED_FILES)" - fi - - - name: Get Terraform Version - id: get-terraform-version - shell: bash -x -e -o pipefail {0} - env: - BASE_REF: ${{ github.base_ref }} - LABELS: ${{ join(github.event.pull_request.labels.*.name, '\n') }} - MODIFIED_FILES: ${{ steps.get-modified-files.outputs.modified_files }} - DEFAULT_TERRAFORM_VERSION: ${{ secrets.DEFAULT_TERRAFORM_VERSION }} - run: | - # Match labels like `terraform/0.12` or nothing (to prevent grep from returning a non-zero exit code) - # Use [0-9] because \d is not standard part of egrep - echo "PR labels: ${LABELS}" - TERRAFORM_VERSION=$(grep -Eo 'terraform/[0-9]+\.[x0-9]+|' <<<${LABELS} | cut -d/ -f2) - # Go through all the possible cases: one compliant label, no compliant labels, and multiple compliant labels - if grep -Ez '^\W*[0-9]+\.[x0-9]+\W*$' <<<${TERRAFORM_VERSION}; then - echo "Terraform version ${TERRAFORM_VERSION} will be used to check the formatting of files that have been modified since this branch diverged from ${BASE_REF}." - elif [ -z "${TERRAFORM_VERSION}" ]; then - TERRAFORM_VERSION="${DEFAULT_TERRAFORM_VERSION:-1.x}" - echo "No Terraform version found in the PR labels. Using the default Terraform version ${TERRAFORM_VERSION}." - else - echo "You have either chosen terraform labels with malformed versions or, more likely, you have chosen multiple terraform version labels." - echo "Please select a single terraform version label that matches the following regular expression: terraform/[0-9]+\.[x0-9]+" - exit 2 - fi - # Construct the actual semver expression that will be passed to Terraform - if grep -q 'x$' <<<${TERRAFORM_VERSION}; then - TERRAFORM_SEMVER=$TERRAFORM_VERSION - else - TERRAFORM_SEMVER=~$TERRAFORM_VERSION - fi - # Create GitHub Actions step output - echo "::set-output name=terraform_semver::$(echo $TERRAFORM_SEMVER)" - - # Install terraform to ensure we're using our expected version - - uses: hashicorp/setup-terraform@v1 - with: - terraform_version: ${{ steps.get-terraform-version.outputs.terraform_semver }} - - # Install terraform-docs for pre-commit hook - - name: Install terraform-docs - shell: bash - env: - INSTALL_PATH: "${{ github.workspace }}/bin" - run: | - make init - mkdir -p "${INSTALL_PATH}" - make packages/install/terraform-docs - echo "$INSTALL_PATH" >> $GITHUB_PATH - - # python setup, in preparation for pre-commit run - - uses: actions/setup-python@v2 - - # pre-commit checks: fmt + terraform-docs - # We skip tf_validate as it requires an init - # of all root modules, which is to be avoided. - - uses: cloudposse/github-action-pre-commit@v2.1.2 - env: - SKIP: tf_validate - with: - token: ${{ secrets.PUBLIC_REPO_ACCESS_TOKEN }} - git_user_name: cloudpossebot - git_user_email: cloudpossebot@users.noreply.github.com - extra_args: --files ${{ steps.get-modified-files.outputs.modified_files }} From fab27bd11659e281666a87d83fa1b6652fd0c3e7 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 17:18:41 -0600 Subject: [PATCH 04/34] rebuild readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5ceb57a7c..1d461e4b1 100644 --- a/README.md +++ b/README.md @@ -119,7 +119,7 @@ For additional context, refer to some of these links. ## ✨ Contributing -This project is under active development, and we encourage contributions from our community. +This project is under active development, and we encourage contributions from our community. Many thanks to our outstanding contributors: From a65578e7a12501cf71c92388e54f1833dacba677 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 17:43:18 -0600 Subject: [PATCH 05/34] rebuild readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1d461e4b1..b6fbfc94a 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Project Banner](.github/banner.png?raw=true)](https://cpco.io/homepage)

[![Latest Release](https://img.shields.io/github/release/cloudposse/terraform-aws-components.svg)](https://github.com/cloudposse/terraform-aws-components/releases/latest) [![Slack Community](https://slack.cloudposse.com/badge.svg)](https://slack.cloudposse.com)

+[![Project Banner](.github/banner.png?raw=true)](https://cpco.io/homepage)

Latest Release Slack Community

@@ -119,7 +119,7 @@ For additional context, refer to some of these links. ## ✨ Contributing -This project is under active development, and we encourage contributions from our community. +This project is under active development, and we encourage contributions from our community. Many thanks to our outstanding contributors: From 3283dd1b9c58f21bd58f7d2ba26cb45e92431ddf Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 17:48:14 -0600 Subject: [PATCH 06/34] rebuild readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b6fbfc94a..a407a5b80 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -[![Project Banner](.github/banner.png?raw=true)](https://cpco.io/homepage)

Latest Release Slack Community

+Project Banner

Latest Release Slack Community

From d1d14f480a38152710ec3b44ac57d84f52e5a05f Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:03:47 -0600 Subject: [PATCH 07/34] update readme --- README.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++------- README.yaml | 75 ++++++++++++++++++++++++++++++++++++++++++++++------- 2 files changed, 132 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index a407a5b80..9d02b8ac3 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,8 @@ --> -This is a collection of reusable Terraform components for provisioning infrastructure used by the Cloud Posse [reference architectures](https://cloudposse.com). +This is a collection of reusable [AWS Terraform components](https://atmos.tools/core-concepts/components/) for provisioning infrastructure used by the Cloud Posse [reference architectures](https://cloudposse.com). +They work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. --- @@ -47,13 +48,13 @@ It's from this library that other developers in your organization will pick and These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. -## Deprecations - -Terraform components which are no longer actively maintained are now in the `deprecated/` folder. - -Many of these deprecated components are used in our old reference architectures. - -We intend to eventually delete, but are leaving them for now in the repo. +> [!IMPORTANT] +> ## Deprecations +> Terraform components which are no longer actively maintained are now in the `deprecated/` folder. +> +> Many of these deprecated components are used in our old reference architectures. +> +> We intend to eventually delete, but are leaving them for now in the repo. ## Using `pre-commit` Hooks @@ -78,7 +79,63 @@ make rebuild-docs -Please take a look at each [component's README](https://docs.cloudposse.com/components/) for usage. + +Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. + +> [!TIP] +> ## Use Atmos with Terraform +> Theese components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. + +Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): + +```yaml +components: + terraform: + : + vars: + # Terraform variables + # : + +``` + +## Automated Updates of Components using GitHub Actions + +Automatically update your components to the latest version using GitHub Actions. +This is done by creating a new file in the `.github/workflows` directory of your repository. + +The file should contain the following: + +```yaml +jobs: +update: + runs-on: + - "ubuntu-latest" + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Update Atmos Components + uses: cloudposse/github-action-atmos-component-updater@v2 + env: + # https://atmos.tools/cli/configuration/#environment-variables + ATMOS_CLI_CONFIG_PATH: ${{ github.workspace }}/rootfs/usr/local/etc/atmos/ + with: + github-access-token: ${{ secrets.GITHUB_TOKEN }} + log-level: INFO + max-number-of-prs: 10 + + - name: Delete abandoned update branches + uses: phpdocker-io/github-actions-delete-abandoned-branches@v2 + with: + github_token: ${{ github.token }} + last_commit_age_days: 0 + allowed_prefixes: "component-update/" + dry_run: no +``` + +For the full documentation on how to use the Component Updater GitHub Action, please see the [Atmos Intergations](https://atmos.tools/integrations/github-actions/component-updater) documentation. diff --git a/README.yaml b/README.yaml index 69a0b5ddc..dcc66748e 100644 --- a/README.yaml +++ b/README.yaml @@ -61,7 +61,8 @@ related: # Short description of this project description: |- - This is a collection of reusable Terraform components for provisioning infrastructure used by the Cloud Posse [reference architectures](https://cloudposse.com). + This is a collection of reusable [AWS Terraform components](https://atmos.tools/core-concepts/components/) for provisioning infrastructure used by the Cloud Posse [reference architectures](https://cloudposse.com). + They work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. introduction: |- In this repo you'll find real-world examples of how we've implemented various common patterns using our [terraform modules](https://cpco.io/terraform-modules) for our customers. @@ -72,13 +73,13 @@ introduction: |- These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. - ## Deprecations - - Terraform components which are no longer actively maintained are now in the `deprecated/` folder. - - Many of these deprecated components are used in our old reference architectures. - - We intend to eventually delete, but are leaving them for now in the repo. + > [!IMPORTANT] + > ## Deprecations + > Terraform components which are no longer actively maintained are now in the `deprecated/` folder. + > + > Many of these deprecated components are used in our old reference architectures. + > + > We intend to eventually delete, but are leaving them for now in the repo. ## Using `pre-commit` Hooks @@ -99,7 +100,63 @@ introduction: |- # How to use this project usage: |- - Please take a look at each [component's README](https://docs.cloudposse.com/components/) for usage. + + Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. + + > [!TIP] + > ## Use Atmos with Terraform + > Theese components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. + + Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): + + ```yaml + components: + terraform: + : + vars: + # Terraform variables + # : + + ``` + + ## Automated Updates of Components using GitHub Actions + + Automatically update your components to the latest version using GitHub Actions. + This is done by creating a new file in the `.github/workflows` directory of your repository. + + The file should contain the following: + + ```yaml + jobs: + update: + runs-on: + - "ubuntu-latest" + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + with: + fetch-depth: 1 + + - name: Update Atmos Components + uses: cloudposse/github-action-atmos-component-updater@v2 + env: + # https://atmos.tools/cli/configuration/#environment-variables + ATMOS_CLI_CONFIG_PATH: ${{ github.workspace }}/rootfs/usr/local/etc/atmos/ + with: + github-access-token: ${{ secrets.GITHUB_TOKEN }} + log-level: INFO + max-number-of-prs: 10 + + - name: Delete abandoned update branches + uses: phpdocker-io/github-actions-delete-abandoned-branches@v2 + with: + github_token: ${{ github.token }} + last_commit_age_days: 0 + allowed_prefixes: "component-update/" + dry_run: no + ``` + + For the full documentation on how to use the Component Updater GitHub Action, please see the [Atmos Intergations](https://atmos.tools/integrations/github-actions/component-updater) documentation. include: - "docs/targets.md" From 2d2e4a75a923fbe6198750fb03d0cbd5599dcb89 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:07:12 -0600 Subject: [PATCH 08/34] update readme --- README.md | 6 +++--- README.yaml | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 9d02b8ac3..9b2f905bf 100644 --- a/README.md +++ b/README.md @@ -49,10 +49,10 @@ It's from this library that other developers in your organization will pick and These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. > [!IMPORTANT] -> ## Deprecations -> Terraform components which are no longer actively maintained are now in the `deprecated/` folder. +> ## Deprecated Components +> Terraform components which are no longer actively maintained are kept in the [`deprecated/`](deprecated/) folder. > -> Many of these deprecated components are used in our old reference architectures. +> Many of these deprecated components are used in our older reference architectures. > > We intend to eventually delete, but are leaving them for now in the repo. diff --git a/README.yaml b/README.yaml index dcc66748e..e6d9c9f45 100644 --- a/README.yaml +++ b/README.yaml @@ -74,10 +74,10 @@ introduction: |- These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. > [!IMPORTANT] - > ## Deprecations - > Terraform components which are no longer actively maintained are now in the `deprecated/` folder. + > ## Deprecated Components + > Terraform components which are no longer actively maintained are kept in the [`deprecated/`](deprecated/) folder. > - > Many of these deprecated components are used in our old reference architectures. + > Many of these deprecated components are used in our older reference architectures. > > We intend to eventually delete, but are leaving them for now in the repo. From 357e31d19c31f79d1d494c68247f04be55b5d1e7 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:11:42 -0600 Subject: [PATCH 09/34] update readme --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9b2f905bf..11a85527f 100644 --- a/README.md +++ b/README.md @@ -249,7 +249,9 @@ Ensure that your team succeeds by using our proven process and turnkey blueprint [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0)
-See [LICENSE](LICENSE) for full details. +See `LICENSE` for full + +See [LICENSE.md](LICENSE) for full details. ```text Licensed to the Apache Software Foundation (ASF) under one From 9fcf93e411e22b600e502457e5faa7d20cd97e1e Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:16:33 -0600 Subject: [PATCH 10/34] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 11a85527f..01fd19f90 100644 --- a/README.md +++ b/README.md @@ -249,9 +249,9 @@ Ensure that your team succeeds by using our proven process and turnkey blueprint [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge)](https://opensource.org/licenses/Apache-2.0)
-See `LICENSE` for full +Summary of License -See [LICENSE.md](LICENSE) for full details. +Complete license is available in the [`LICENSE`](LICENSE) file. ```text Licensed to the Apache Software Foundation (ASF) under one From 42d20a75e793e48c02105fe6b803e73d884035d1 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:19:54 -0600 Subject: [PATCH 11/34] update readme --- README.md | 35 ++++++++++++++++++----------------- README.yaml | 34 ++++++++++++++++++---------------- 2 files changed, 36 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 01fd19f90..5cfe98de4 100644 --- a/README.md +++ b/README.md @@ -56,23 +56,6 @@ These components make a lot of assumptions about how we've configured our enviro > > We intend to eventually delete, but are leaving them for now in the repo. -## Using `pre-commit` Hooks - -This repository uses [pre-commit](https://pre-commit.com/) and [pre-commit-terraform](https://github.com/antonbabenko/pre-commit-terraform) to enforce consistent Terraform code and documentation. This is accomplished by triggering hooks during `git commit` to block commits that don't pass checks (E.g. format, and module documentation). You can find the hooks that are being executed in the [`.pre-commit-config.yaml`](.pre-commit-config.yaml) file. - -You can install [pre-commit](https://pre-commit.com/) and this repo's pre-commit hooks on a Mac machine by running the following commands: - -```bash -brew install pre-commit gawk terraform-docs coreutils -pre-commit install --install-hooks -``` - -Then run the following command to rebuild the docs for all Terraform components: - -```bash -make rebuild-docs -``` - ## Usage @@ -98,6 +81,7 @@ components: ``` + ## Automated Updates of Components using GitHub Actions Automatically update your components to the latest version using GitHub Actions. @@ -137,6 +121,23 @@ update: For the full documentation on how to use the Component Updater GitHub Action, please see the [Atmos Intergations](https://atmos.tools/integrations/github-actions/component-updater) documentation. +## Using `pre-commit` Hooks + +This repository uses [pre-commit](https://pre-commit.com/) and [pre-commit-terraform](https://github.com/antonbabenko/pre-commit-terraform) to enforce consistent Terraform code and documentation. This is accomplished by triggering hooks during `git commit` to block commits that don't pass checks (E.g. format, and module documentation). You can find the hooks that are being executed in the [`.pre-commit-config.yaml`](.pre-commit-config.yaml) file. + +You can install [pre-commit](https://pre-commit.com/) and this repo's pre-commit hooks on a Mac machine by running the following commands: + +```bash +brew install pre-commit gawk terraform-docs coreutils +pre-commit install --install-hooks +``` + +Then run the following command to rebuild the docs for all Terraform components: + +```bash +make rebuild-docs +``` + diff --git a/README.yaml b/README.yaml index e6d9c9f45..af9af6497 100644 --- a/README.yaml +++ b/README.yaml @@ -81,22 +81,6 @@ introduction: |- > > We intend to eventually delete, but are leaving them for now in the repo. - ## Using `pre-commit` Hooks - - This repository uses [pre-commit](https://pre-commit.com/) and [pre-commit-terraform](https://github.com/antonbabenko/pre-commit-terraform) to enforce consistent Terraform code and documentation. This is accomplished by triggering hooks during `git commit` to block commits that don't pass checks (E.g. format, and module documentation). You can find the hooks that are being executed in the [`.pre-commit-config.yaml`](.pre-commit-config.yaml) file. - - You can install [pre-commit](https://pre-commit.com/) and this repo's pre-commit hooks on a Mac machine by running the following commands: - - ```bash - brew install pre-commit gawk terraform-docs coreutils - pre-commit install --install-hooks - ``` - - Then run the following command to rebuild the docs for all Terraform components: - - ```bash - make rebuild-docs - ``` # How to use this project usage: |- @@ -119,6 +103,7 @@ usage: |- ``` + ## Automated Updates of Components using GitHub Actions Automatically update your components to the latest version using GitHub Actions. @@ -158,6 +143,23 @@ usage: |- For the full documentation on how to use the Component Updater GitHub Action, please see the [Atmos Intergations](https://atmos.tools/integrations/github-actions/component-updater) documentation. + ## Using `pre-commit` Hooks + + This repository uses [pre-commit](https://pre-commit.com/) and [pre-commit-terraform](https://github.com/antonbabenko/pre-commit-terraform) to enforce consistent Terraform code and documentation. This is accomplished by triggering hooks during `git commit` to block commits that don't pass checks (E.g. format, and module documentation). You can find the hooks that are being executed in the [`.pre-commit-config.yaml`](.pre-commit-config.yaml) file. + + You can install [pre-commit](https://pre-commit.com/) and this repo's pre-commit hooks on a Mac machine by running the following commands: + + ```bash + brew install pre-commit gawk terraform-docs coreutils + pre-commit install --install-hooks + ``` + + Then run the following command to rebuild the docs for all Terraform components: + + ```bash + make rebuild-docs + ``` + include: - "docs/targets.md" From 754d7b387a7873cd154a2c9149fa5e9d843191c1 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:21:01 -0600 Subject: [PATCH 12/34] update readme --- README.yaml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/README.yaml b/README.yaml index af9af6497..98dfa458f 100644 --- a/README.yaml +++ b/README.yaml @@ -36,10 +36,13 @@ github_repo: "cloudposse/terraform-aws-components" # Badges to display badges: - name: "Latest Release" - image: "https://img.shields.io/github/release/cloudposse/terraform-aws-components.svg" + image: "https://img.shields.io/github/release/cloudposse/terraform-aws-components.svg?style=for-the-badge" url: "https://github.com/cloudposse/terraform-aws-components/releases/latest" + - name: "Last Update" + image: https://img.shields.io/github/last-commit/cloudposse/.github/main?style=for-the-badge + url: https://github.com/cloudposse/.github/commits/main/ - name: "Slack Community" - image: "https://slack.cloudposse.com/badge.svg" + image: "https://slack.cloudposse.com/for-the-badge.svg" url: "https://slack.cloudposse.com" references: From d4c64fd3f0679352a7af04d5ef4b85ee9ec804c9 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:21:31 -0600 Subject: [PATCH 13/34] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5cfe98de4..1b7fc4721 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -Project Banner

Latest Release Slack Community

+Project Banner

Latest Release Last Update Slack Community

From 090f4d6dbc500f7320c838f593204ff309519454 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:23:05 -0600 Subject: [PATCH 14/34] update readme --- README.md | 16 ++++++++-------- README.yaml | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/README.md b/README.md index 1b7fc4721..76bd818e2 100644 --- a/README.md +++ b/README.md @@ -48,14 +48,6 @@ It's from this library that other developers in your organization will pick and These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. -> [!IMPORTANT] -> ## Deprecated Components -> Terraform components which are no longer actively maintained are kept in the [`deprecated/`](deprecated/) folder. -> -> Many of these deprecated components are used in our older reference architectures. -> -> We intend to eventually delete, but are leaving them for now in the repo. - ## Usage @@ -138,6 +130,14 @@ Then run the following command to rebuild the docs for all Terraform components: make rebuild-docs ``` +> [!IMPORTANT] +> ## Deprecated Components +> Terraform components which are no longer actively maintained are kept in the [`deprecated/`](deprecated/) folder. +> +> Many of these deprecated components are used in our older reference architectures. +> +> We intend to eventually delete, but are leaving them for now in the repo. + diff --git a/README.yaml b/README.yaml index 98dfa458f..131bb2f4c 100644 --- a/README.yaml +++ b/README.yaml @@ -76,14 +76,6 @@ introduction: |- These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. - > [!IMPORTANT] - > ## Deprecated Components - > Terraform components which are no longer actively maintained are kept in the [`deprecated/`](deprecated/) folder. - > - > Many of these deprecated components are used in our older reference architectures. - > - > We intend to eventually delete, but are leaving them for now in the repo. - # How to use this project usage: |- @@ -163,6 +155,14 @@ usage: |- make rebuild-docs ``` + > [!IMPORTANT] + > ## Deprecated Components + > Terraform components which are no longer actively maintained are kept in the [`deprecated/`](deprecated/) folder. + > + > Many of these deprecated components are used in our older reference architectures. + > + > We intend to eventually delete, but are leaving them for now in the repo. + include: - "docs/targets.md" From 3203b83993425953162ae636280ee0cda6a0ab60 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:23:46 -0600 Subject: [PATCH 15/34] update readme --- README.md | 2 +- README.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 76bd818e2..eb0eac551 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ These components make a lot of assumptions about how we've configured our enviro Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. > [!TIP] -> ## Use Atmos with Terraform +> ## πŸ‘½ Use Atmos with Terraform > Theese components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): diff --git a/README.yaml b/README.yaml index 131bb2f4c..c6f856d26 100644 --- a/README.yaml +++ b/README.yaml @@ -83,7 +83,7 @@ usage: |- Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. > [!TIP] - > ## Use Atmos with Terraform + > ## πŸ‘½ Use Atmos with Terraform > Theese components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): From 47c43e0c3dbe5dda0d751fa6f74f0272c9142e62 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:27:42 -0600 Subject: [PATCH 16/34] update readme --- README.md | 8 +++++++- README.yaml | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index eb0eac551..16bc24f6a 100644 --- a/README.md +++ b/README.md @@ -59,7 +59,13 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp > [!TIP] > ## πŸ‘½ Use Atmos with Terraform -> Theese components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. +> These components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. +> +>
+> Watch demo of using Atmos with Terraform +> ![Demo](https://github.com/cloudposse/atmos/blob/master/docs/demo.gif?raw=true) +> *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* +> Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): diff --git a/README.yaml b/README.yaml index c6f856d26..68615800e 100644 --- a/README.yaml +++ b/README.yaml @@ -84,7 +84,13 @@ usage: |- > [!TIP] > ## πŸ‘½ Use Atmos with Terraform - > Theese components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. + > These components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. + > + >
+ > Watch demo of using Atmos with Terraform + > ![Demo](https://github.com/cloudposse/atmos/blob/master/docs/demo.gif?raw=true) + > *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* + > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): From 5813969e3b3849dfca8c6af915785ce60601d7df Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 18:28:31 -0600 Subject: [PATCH 17/34] update readme --- README.md | 2 +- README.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 16bc24f6a..3e535117b 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp > >
> Watch demo of using Atmos with Terraform -> ![Demo](https://github.com/cloudposse/atmos/blob/master/docs/demo.gif?raw=true) +>
> *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* > diff --git a/README.yaml b/README.yaml index 68615800e..9dfd772db 100644 --- a/README.yaml +++ b/README.yaml @@ -88,7 +88,7 @@ usage: |- > >
> Watch demo of using Atmos with Terraform - > ![Demo](https://github.com/cloudposse/atmos/blob/master/docs/demo.gif?raw=true) + >
> *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* > From 12b3b4d76e55a924976011762b9713aae996e3f6 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 19:36:02 -0600 Subject: [PATCH 18/34] update readme --- README.md | 5 +++-- README.yaml | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 3e535117b..9bf6bff6d 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp > These components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. > >
-> Watch demo of using Atmos with Terraform +> Watch demo of using Atmos with Terraform >
> *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* > @@ -82,7 +82,8 @@ components: ## Automated Updates of Components using GitHub Actions -Automatically update your components to the latest version using GitHub Actions. +Leverage the Atmos components GitHub Action to automate the creation and management of pull requests for component updates. + This is done by creating a new file in the `.github/workflows` directory of your repository. The file should contain the following: diff --git a/README.yaml b/README.yaml index 9dfd772db..b90d72863 100644 --- a/README.yaml +++ b/README.yaml @@ -87,7 +87,7 @@ usage: |- > These components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. > >
- > Watch demo of using Atmos with Terraform + > Watch demo of using Atmos with Terraform >
> *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* > @@ -107,7 +107,8 @@ usage: |- ## Automated Updates of Components using GitHub Actions - Automatically update your components to the latest version using GitHub Actions. + Leverage the Atmos components GitHub Action to automate the creation and management of pull requests for component updates. + This is done by creating a new file in the `.github/workflows` directory of your repository. The file should contain the following: From dacbae4b4d69ac04b3dfde29a0e30b359c3f5dc9 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Mon, 5 Feb 2024 19:53:49 -0600 Subject: [PATCH 19/34] fix badges --- README.md | 2 +- README.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9bf6bff6d..e4efbb3f8 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -Project Banner

Latest Release Last Update Slack Community

+Project Banner

Latest Release Last Update Slack Community

diff --git a/README.yaml b/README.yaml index b90d72863..2ba439e9f 100644 --- a/README.yaml +++ b/README.yaml @@ -39,8 +39,8 @@ badges: image: "https://img.shields.io/github/release/cloudposse/terraform-aws-components.svg?style=for-the-badge" url: "https://github.com/cloudposse/terraform-aws-components/releases/latest" - name: "Last Update" - image: https://img.shields.io/github/last-commit/cloudposse/.github/main?style=for-the-badge - url: https://github.com/cloudposse/.github/commits/main/ + image: https://img.shields.io/github/last-commit/cloudposse/terraform-aws-components/main?style=for-the-badge + url: https://github.com/cloudposse/terraform-aws-components/commits/main/ - name: "Slack Community" image: "https://slack.cloudposse.com/for-the-badge.svg" url: "https://slack.cloudposse.com" From d868525688b494f94622e1e6d0251e51e123ca59 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:19:56 -0600 Subject: [PATCH 20/34] update readme --- README.md | 88 +++++++++++++++++++++++-------------------------------- 1 file changed, 37 insertions(+), 51 deletions(-) diff --git a/README.md b/README.md index e4efbb3f8..163d484f0 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ - -Project Banner

Latest Release Last Update Slack Community

+ +Project Banner
+

+Latest ReleaseLast UpdateSlack Community

- - [logo]: https://cloudposse.com/logo-300x69.svg - [docs]: https://cpco.io/docs?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=docs - [website]: https://cpco.io/homepage?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=website - [github]: https://cpco.io/github?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=github - [jobs]: https://cpco.io/jobs?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=jobs - [hire]: https://cpco.io/hire?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=hire - [slack]: https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack - [twitter]: https://cpco.io/twitter?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=twitter - [office_hours]: https://cloudposse.com/office-hours?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=office_hours - [newsletter]: https://cpco.io/newsletter?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=newsletter - [email]: https://cpco.io/email?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=email - [commercial_support]: https://cpco.io/commercial-support?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=commercial_support - [we_love_open_source]: https://cpco.io/we-love-open-source?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=we_love_open_source - [terraform_modules]: https://cpco.io/terraform-modules?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=terraform_modules - [readme_header_img]: https://cloudposse.com/readme/header/img - [readme_header_link]: https://cloudposse.com/readme/header/link?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=readme_header_link - [readme_footer_img]: https://cloudposse.com/readme/footer/img - [readme_footer_link]: https://cloudposse.com/readme/footer/link?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=readme_footer_link - [readme_commercial_support_img]: https://cloudposse.com/readme/commercial-support/img - [readme_commercial_support_link]: https://cloudposse.com/readme/commercial-support/link?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=readme_commercial_support_link - [beacon]: https://ga-beacon.cloudposse.com/UA-76589703-4/cloudposse/terraform-aws-components?pixel&cs=github&cm=readme&an=terraform-aws-components - + + +README footer + +Beacon From 12c0e47d4966452d1535c8675f8e23ee2ce8600c Mon Sep 17 00:00:00 2001 From: cloudpossebot Date: Sat, 10 Feb 2024 02:20:31 +0000 Subject: [PATCH 21/34] pre-commit fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 163d484f0..c055ca8ec 100644 --- a/README.md +++ b/README.md @@ -200,7 +200,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. From dad1d792ee0ac2026564c74d168b52f7f5be154d Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:20:56 -0600 Subject: [PATCH 22/34] update readme --- README.md | 2 +- README.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index c055ca8ec..fea7527e9 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp >
> Watch demo of using Atmos with Terraform >
-> *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* +> *Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): diff --git a/README.yaml b/README.yaml index 2ba439e9f..fe019bb63 100644 --- a/README.yaml +++ b/README.yaml @@ -89,7 +89,7 @@ usage: |- >
> Watch demo of using Atmos with Terraform >
- > *
Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* + > *Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): From 74884e8767b546dc0ac60be3845e5068e9aa4c8c Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:22:00 -0600 Subject: [PATCH 23/34] update readme --- README.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.yaml b/README.yaml index fe019bb63..abdb6bf52 100644 --- a/README.yaml +++ b/README.yaml @@ -89,7 +89,7 @@ usage: |- >
> Watch demo of using Atmos with Terraform >
- > *Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* + > *Example of running `atmos` to describe infrastructure.* > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): From c850e18ffa1f754f422439ecbe2eeb4f2968729d Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:22:13 -0600 Subject: [PATCH 24/34] update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fea7527e9..ffb26783c 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp >
> Watch demo of using Atmos with Terraform >
-> *Example of running [`atmos`](https://atmos.tools) to describe infrastructure.* +> *Example of running `atmos` to describe infrastructure.* > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): From 7ed544c151d8893176e703cc7e6189937ee48a31 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:23:30 -0600 Subject: [PATCH 25/34] update readme --- README.md | 4 ++-- README.yaml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ffb26783c..819c41788 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp >
> Watch demo of using Atmos with Terraform >
-> *Example of running `atmos` to describe infrastructure.* +> Example of running `atmos` to describe infrastructure. > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): @@ -200,7 +200,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. diff --git a/README.yaml b/README.yaml index abdb6bf52..e85b1ebb3 100644 --- a/README.yaml +++ b/README.yaml @@ -89,7 +89,7 @@ usage: |- >
> Watch demo of using Atmos with Terraform >
- > *Example of running `atmos` to describe infrastructure.* + > Example of running `atmos` to describe infrastructure. > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): From f7e87e2aac01f0ef653a6a63eef0a7e2c3f78e99 Mon Sep 17 00:00:00 2001 From: cloudpossebot Date: Sat, 10 Feb 2024 02:24:08 +0000 Subject: [PATCH 26/34] pre-commit fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 819c41788..9d82ab9ae 100644 --- a/README.md +++ b/README.md @@ -200,7 +200,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. From 49f4af2a998be81ea8cbef4a8a18885a6f230296 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:31:42 -0600 Subject: [PATCH 27/34] update readme --- README.md | 24 +++++++++++------------- README.yaml | 38 ++++++++++++-------------------------- 2 files changed, 23 insertions(+), 39 deletions(-) diff --git a/README.md b/README.md index 9d82ab9ae..557e1a851 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ These components make a lot of assumptions about how we've configured our enviro Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. > [!TIP] -> ## πŸ‘½ Use Atmos with Terraform -> These components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. +> ## πŸ‘½ Use Atmos to Orchestrate Environments with Terraform +> These components work really well with [Atmos](https://atmos.tools), our open-source tool for orchestrating Terraform. > >
> Watch demo of using Atmos with Terraform @@ -70,24 +70,22 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp > Example of running `atmos` to describe infrastructure. > -Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): +Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding something like the following +code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): ```yaml -components: - terraform: - : - vars: - # Terraform variables - # : - +components: # List of components to include in the stack + terraform: # The toolchain being used for configuration + vpc: # The name of the component (e.g. terraform "root" module) + vars: # Terraform variables (e.g. `.tfvars`) + cidr_block: 10.0.0.0/16 # A variable input passed to terraform via `.tfvars` ``` - ## Automated Updates of Components using GitHub Actions -Leverage the Atmos components GitHub Action to automate the creation and management of pull requests for component updates. +Leverage our [GitHub Action](https://atmos.tools/integrations/github-actions/component-updater) to automate the creation and management of pull requests for component updates. -This is done by creating a new file in the `.github/workflows` directory of your repository. +This is done by creating a new file (e.g. `atmos-component-updater.yml`) in the `.github/workflows` directory of your repository. The file should contain the following: diff --git a/README.yaml b/README.yaml index e85b1ebb3..3df95e642 100644 --- a/README.yaml +++ b/README.yaml @@ -83,8 +83,8 @@ usage: |- Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. > [!TIP] - > ## πŸ‘½ Use Atmos with Terraform - > These components work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. + > ## πŸ‘½ Use Atmos to Orchestrate Environments with Terraform + > These components work really well with [Atmos](https://atmos.tools), our open-source tool for orchestrating Terraform. > >
> Watch demo of using Atmos with Terraform @@ -92,24 +92,22 @@ usage: |- > Example of running `atmos` to describe infrastructure. > - Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding the following code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): + Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding something like the following + code into your [stack manifest](https://atmos.tools/core-concepts/stacks/): ```yaml - components: - terraform: - : - vars: - # Terraform variables - # : - + components: # List of components to include in the stack + terraform: # The toolchain being used for configuration + vpc: # The name of the component (e.g. terraform "root" module) + vars: # Terraform variables (e.g. `.tfvars`) + cidr_block: 10.0.0.0/16 # A variable input passed to terraform via `.tfvars` ``` - ## Automated Updates of Components using GitHub Actions - Leverage the Atmos components GitHub Action to automate the creation and management of pull requests for component updates. + Leverage our [GitHub Action](https://atmos.tools/integrations/github-actions/component-updater) to automate the creation and management of pull requests for component updates. - This is done by creating a new file in the `.github/workflows` directory of your repository. + This is done by creating a new file (e.g. `atmos-component-updater.yml`) in the `.github/workflows` directory of your repository. The file should contain the following: @@ -174,16 +172,4 @@ include: - "docs/targets.md" # Contributors to this project -contributors: - - name: "Erik Osterman" - github: "osterman" - - name: "Igor Rodionov" - github: "goruha" - - name: "Andriy Knysh" - github: "aknysh" - - name: "Matt Gowie" - github: "Gowiem" - - name: "Yonatan Koren" - github: "korenyoni" - - name: "Matt Calhoun" - github: "mcalhoun" +contributors: [] From 8f07e0f90b1373768fe8c5facdc76ddf29b16455 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:34:11 -0600 Subject: [PATCH 28/34] update readme --- README.md | 7 ++++--- README.yaml | 5 +++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 557e1a851..74487001b 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,9 @@ These components make a lot of assumptions about how we've configured our enviro Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. > [!TIP] -> ## πŸ‘½ Use Atmos to Orchestrate Environments with Terraform -> These components work really well with [Atmos](https://atmos.tools), our open-source tool for orchestrating Terraform. +> ## πŸ‘½ Use Atmos with Terraform +> To orchestrate multiple environments with ease using Terraform, Cloud Posse recommends using [Atmos](https://atmos.tools), +> our open-source tool for Terraform automation. > >
> Watch demo of using Atmos with Terraform @@ -198,7 +199,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. diff --git a/README.yaml b/README.yaml index 3df95e642..e7119f2e6 100644 --- a/README.yaml +++ b/README.yaml @@ -83,8 +83,9 @@ usage: |- Please take a look at each [component's README](https://docs.cloudposse.com/components/) for specific usage. > [!TIP] - > ## πŸ‘½ Use Atmos to Orchestrate Environments with Terraform - > These components work really well with [Atmos](https://atmos.tools), our open-source tool for orchestrating Terraform. + > ## πŸ‘½ Use Atmos with Terraform + > To orchestrate multiple environments with ease using Terraform, Cloud Posse recommends using [Atmos](https://atmos.tools), + > our open-source tool for Terraform automation. > >
> Watch demo of using Atmos with Terraform From db31e7887dd3d95cb73723fc1d07e79a55b4ee3a Mon Sep 17 00:00:00 2001 From: cloudpossebot Date: Sat, 10 Feb 2024 02:34:47 +0000 Subject: [PATCH 29/34] pre-commit fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 74487001b..2116cd08b 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. From 1c2383be3b0c8a3632ef246cb9a96d9553e95a00 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:36:06 -0600 Subject: [PATCH 30/34] update readme --- README.md | 2 +- README.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2116cd08b..d6808390d 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp >
> Watch demo of using Atmos with Terraform >
-> Example of running `atmos` to describe infrastructure. +> Example of running atmos to describe infrastructure in our Quick Start tutorial. > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding something like the following diff --git a/README.yaml b/README.yaml index e7119f2e6..6c9b8e2a5 100644 --- a/README.yaml +++ b/README.yaml @@ -90,7 +90,7 @@ usage: |- >
> Watch demo of using Atmos with Terraform >
- > Example of running `atmos` to describe infrastructure. + > Example of running atmos to describe infrastructure in our Quick Start tutorial. > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding something like the following From 34860b3a004b010cce3fb4c2be6f646d5b612e28 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:37:09 -0600 Subject: [PATCH 31/34] update readme --- README.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.yaml b/README.yaml index 6c9b8e2a5..b1a1b5a00 100644 --- a/README.yaml +++ b/README.yaml @@ -90,7 +90,7 @@ usage: |- >
> Watch demo of using Atmos with Terraform >
- > Example of running atmos to describe infrastructure in our Quick Start tutorial. + > Example of running atmos to manage infrastructure from our Quick Start tutorial. > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding something like the following From 9899b5ed38e4c297a2cbbc663be975c7e63fb695 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:37:42 -0600 Subject: [PATCH 32/34] update readme --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d6808390d..4faba2d2b 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ Please take a look at each [component's README](https://docs.cloudposse.com/comp >
> Watch demo of using Atmos with Terraform >
-> Example of running atmos to describe infrastructure in our Quick Start tutorial. +> Example of running atmos to manage infrastructure from our Quick Start tutorial. > Generally, you can use these components in [Atmos](https://atmos.tools/core-concepts/components/) by adding something like the following @@ -199,7 +199,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. From ef1a5d179fd8b7588b45226fed6480775ad03c90 Mon Sep 17 00:00:00 2001 From: cloudpossebot Date: Sat, 10 Feb 2024 02:38:21 +0000 Subject: [PATCH 33/34] pre-commit fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4faba2d2b..ea6561625 100644 --- a/README.md +++ b/README.md @@ -199,7 +199,7 @@ Please use the [issue tracker](https://github.com/cloudposse/terraform-aws-compo ### πŸ’» Developing -If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! +If you are interested in being a contributor and want to get involved in developing this project or help out with Cloud Posse's other projects, we would love to hear from you! Hit us up in [Slack](https://cpco.io/slack?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/terraform-aws-components&utm_content=slack), in the `#cloudposse` channel. In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow. From 7ccda723b40f45c731c9204c4112c70bc79b7129 Mon Sep 17 00:00:00 2001 From: Erik Osterman Date: Fri, 9 Feb 2024 20:46:56 -0600 Subject: [PATCH 34/34] update readme --- README.md | 14 ++++++++++---- README.yaml | 15 ++++++++++----- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index ea6561625..f604c5195 100644 --- a/README.md +++ b/README.md @@ -43,13 +43,19 @@ They work really well with [Atmos](https://atmos.tools), our open-source tool fo ## Introduction -In this repo you'll find real-world examples of how we've implemented various common patterns using our [terraform modules](https://cpco.io/terraform-modules) for our customers. +In this repo you'll find real-world examples of how we've implemented Terraform "root" modules as native +[Atmos Components](https://atmos.tools/core-concepts/components/) for our customers. These Components +leverage our hundreds of free and open-source [terraform "child" modules](https://cpco.io/terraform-modules). -The [component library](https://docs.cloudposse.com/components/) captures the business logic, opinions, best practices and non-functional requirements. +The [component library](https://docs.cloudposse.com/components/) captures the business logic, opinions, best practices and +non-functional requirements for an organization. -It's from this library that other developers in your organization will pick and choose from anytime they need to deploy some new capability. +It's from this library that other developers in your organization will pick and choose from whenever they need to deploy some new +capability. -These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. +These components make a lot of assumptions (aka ["convention over configuration"](https://en.wikipedia.org/wiki/Convention_over_configuration)) about how we've configured our environments. +That said, they still serve as an excellent reference for others on how to build, organize and distribute enterprise-grade infrastructure +with Terraform that can be used with [Atmos](https://atmos.tools). diff --git a/README.yaml b/README.yaml index b1a1b5a00..e96844f94 100644 --- a/README.yaml +++ b/README.yaml @@ -68,14 +68,19 @@ description: |- They work really well with [Atmos](https://atmos.tools), our open-source tool for managing infrastructure as code with Terraform. introduction: |- - In this repo you'll find real-world examples of how we've implemented various common patterns using our [terraform modules](https://cpco.io/terraform-modules) for our customers. + In this repo you'll find real-world examples of how we've implemented Terraform "root" modules as native + [Atmos Components](https://atmos.tools/core-concepts/components/) for our customers. These Components + leverage our hundreds of free and open-source [terraform "child" modules](https://cpco.io/terraform-modules). - The [component library](https://docs.cloudposse.com/components/) captures the business logic, opinions, best practices and non-functional requirements. + The [component library](https://docs.cloudposse.com/components/) captures the business logic, opinions, best practices and + non-functional requirements for an organization. - It's from this library that other developers in your organization will pick and choose from anytime they need to deploy some new capability. - - These components make a lot of assumptions about how we've configured our environments. That said, they can still serve as an excellent reference for others. + It's from this library that other developers in your organization will pick and choose from whenever they need to deploy some new + capability. + These components make a lot of assumptions (aka ["convention over configuration"](https://en.wikipedia.org/wiki/Convention_over_configuration)) about how we've configured our environments. + That said, they still serve as an excellent reference for others on how to build, organize and distribute enterprise-grade infrastructure + with Terraform that can be used with [Atmos](https://atmos.tools). # How to use this project usage: |-