Skip to content
@cloudposse-terraform-components

Cloud Posse Terraform Components

Collection of Cloud Posse Terraform Components used with the Cloud Posse Reference Architecture

Banner

Slack Community Office Hours Request Quote

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

👽 Demo of Using Atmos with Terraform

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.

Helpful resources

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

Usage

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`

Automated Updates of Components using GitHub Actions

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.

Related Projects

Check out these related projects.

References

For additional context, refer to some of these links.

✨ Contributing

This components in this organization are under active development, and we encourage contributions from our community.

References

For additional context, refer to some of these links.

🐛 Bug Reports & Feature Requests

Please use the issue tracker to report any bugs or file feature requests.

💻 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! Hit us up in Slack, in the #cloudposse channel.

🌎 Slack Community

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.

📰 Newsletter

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.

📆 Office Hours

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!

README Footer Beacon

Popular repositories Loading

  1. aws-account-settings aws-account-settings Public

    This component is responsible for provisioning account level settings: IAM password policy, AWS Account Alias, EBS encryption, and Service Quotas

    HCL 1

  2. aws-identity-center aws-identity-center Public

    This component is responsible for creating AWS SSO Permission Sets and creating AWS SSO Account Assignments, that is, assigning IdP (Okta) groups and/or users to AWS SSO permission sets in specific…

    HCL 1

  3. aws-elasticache-redis aws-elasticache-redis Public

    This component is responsible for provisioning ElastiCache Redis clusters

    HCL 1 1

  4. aws-iam-role aws-iam-role Public

    This component is responsible for provisioning simple IAM roles

    HCL 1

  5. .github .github Public

    Shell

  6. template template Public template

    Template for Terraform Components

    HCL 2

Repositories

Showing 10 of 161 repositories
  • aws-vpc Public

    This component is responsible for provisioning a VPC and corresponding Subnets

    cloudposse-terraform-components/aws-vpc’s past year of commit activity
    HCL 0 0 1 5 Updated Dec 26, 2024
  • .github Public
    cloudposse-terraform-components/.github’s past year of commit activity
    Shell 0 0 1 10 Updated Dec 26, 2024
  • aws-redshift Public

    This component is responsible for provisioning a RedShift instance

    cloudposse-terraform-components/aws-redshift’s past year of commit activity
    HCL 0 0 1 4 Updated Dec 21, 2024
  • aws-philips-labs-github-runners Public

    This component is responsible for provisioning the surrounding infrastructure for the github runners

    cloudposse-terraform-components/aws-philips-labs-github-runners’s past year of commit activity
    HCL 0 0 1 5 Updated Dec 21, 2024
  • aws-account-quotas Public

    This component is responsible for requesting service quota increases

    cloudposse-terraform-components/aws-account-quotas’s past year of commit activity
    HCL 0 1 1 2 Updated Dec 20, 2024
  • aws-api-gateway-account-settings Public

    This component is responsible for setting the global, regional settings required to allow API Gateway to write to CloudWatch logs

    cloudposse-terraform-components/aws-api-gateway-account-settings’s past year of commit activity
    HCL 0 0 1 2 Updated Dec 20, 2024
  • aws-api-gateway-rest-api Public

    This component is responsible for deploying an API Gateway REST API

    cloudposse-terraform-components/aws-api-gateway-rest-api’s past year of commit activity
    HCL 0 0 1 4 Updated Dec 20, 2024
  • aws-aurora-mysql Public

    This component is responsible for provisioning Aurora MySQL RDS clusters

    cloudposse-terraform-components/aws-aurora-mysql’s past year of commit activity
    HCL 0 0 1 5 Updated Dec 20, 2024
  • aws-aurora-mysql-resources Public

    This component is responsible for provisioning Aurora MySQL resources: additional databases, users, permissions, grants, etc

    cloudposse-terraform-components/aws-aurora-mysql-resources’s past year of commit activity
    HCL 0 0 1 3 Updated Dec 20, 2024
  • aws-aurora-postgres-resources Public

    This component is responsible for provisioning Aurora Postgres resources: additional databases, users, permissions, grants, etc

    cloudposse-terraform-components/aws-aurora-postgres-resources’s past year of commit activity
    HCL 0 0 1 3 Updated Dec 20, 2024

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…