This is organization hosts a registry of Terraform components for provisioning infrastructure used by the Cloud Posse reference architectures. They work really well with Atmos, our open-source tool for managing infrastructure as code with Terraform.
Tip
Cloud Posse uses atmos
to easily orchestrate multiple environments using Terraform.
When you design cloud architectures with Atmos, you will first break them apart into pieces called components. Then, you will implement Terraform "root modules" for each of those components. Finally, compose your components in any way you like using stacks, without the need to write any code or messy templates for code generation.
Example of running atmos
to manage infrastructure from our Quick Start tutorial.
Component Documentation - Learn what components are and why to use them.
Component Library Documentation - Read the documentation for all of our components
Component Best Practices - Review the best practices for components
Terraform Best Practices - Understand Cloud Posse's opinionated best practices for Terraform
Learn More
Please take a look at each component's README for specific usage.
Generally, you can use these components in Atmos by adding something like the following code into your stack manifest:
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`
Leverage our GitHub Action to automate the creation and management of pull requests for component updates.
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:
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 Integrations documentation.
Check out these related projects.
- Cloud Posse Terraform Modules - Our collection of reusable Terraform modules used by our reference architectures.
- Atmos - Atmos is like docker-compose but for your infrastructure
For additional context, refer to some of these links.
- Cloud Posse Documentation - Complete documentation for the Cloud Posse solution
- Reference Architectures - Launch effortlessly with our turnkey reference architectures, built either by your team or ours.
This components in this organization are under active development, and we encourage contributions from our community.
For additional context, refer to some of these links.
- Cloud Posse Documentation - Complete documentation for the Cloud Posse solution
- Reference Architectures - Launch effortlessly with our turnkey reference architectures, built either by your team or ours.
Please use the issue tracker to report any bugs or file feature requests.
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, in the #cloudposse
channel.
Join our Open Source Community on Slack. It's FREE for everyone! Our "SweetOps" community is where you get to talk with others who share a similar vision for how to rollout and manage infrastructure. This is the best place to talk shop, ask questions, solicit feedback, and work together as a community to build totally sweet infrastructure.
Sign up for our newsletter and join 3,000+ DevOps engineers, CTOs, and founders who get insider access to the latest DevOps trends, so you can always stay in the know. Dropped straight into your Inbox every week — and usually a 5-minute read.
Join us every Wednesday via Zoom for your weekly dose of insider DevOps trends, AWS news and Terraform insights, all sourced from our SweetOps community, plus a live Q&A that you can’t find anywhere else. It's FREE for everyone!