Home

Awesome

<!-- markdownlint-disable -->

<a href="https://cpco.io/homepage"><img src="https://github.com/cloudposse/atmos/blob/main/.github/banner.png?raw=true" alt="Project Banner"/></a><br/> <p align="right"> <a href="https://github.com/cloudposse/atmos/releases/latest"><img src="https://img.shields.io/github/release/cloudposse/atmos.svg?style=for-the-badge" alt="Latest Release"/></a><a href="https://github.com/cloudposse/atmos/commits/main/"><img src="https://img.shields.io/github/last-commit/cloudposse/atmos/main?style=for-the-badge" alt="Last Updated"/></a><a href="https://github.com/cloudposse/atmos/actions/workflows/test.yml"><img src="https://img.shields.io/github/actions/workflow/status/cloudposse/atmos/test.yml?style=for-the-badge" alt="Tests"/></a><a href="https://slack.cloudposse.com"><img src="https://slack.cloudposse.com/for-the-badge.svg" alt="Slack Community"/></a></p>

<!-- markdownlint-restore --> <!-- ** DO NOT EDIT THIS FILE ** ** 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. ** ** (We maintain HUNDREDS of open source projects. This is how we maintain our sanity.) ** -->

Use Atmos to break your architecture into reusable Components that you implement using Terraform "root modules". Then tie everything together using Stack configurations defined in YAML.

Atmos can change how you think about the Terraform code you write to build your infrastructure. Atmos is a framework that simplifies complex cloud architectures and DevOps workflows into intuitive CLI commands. Its strength in managing DRY configurations at scale for Terraform and is supported by robust design patterns, comprehensive documentation, and a passionate community, making it a versatile tool for both startups and enterprises. Atmos is extensible to accommodate any tooling, including enterprise-scale Terraform, and includes custom policy controls, vendoring, and GitOps capabilities out of the box. Everything is open source and free.

[!TIP]

You can try out atmos directly in your browser using GitHub Codespaces

Open in GitHub Codespaces

<i>Already start one? Find it here.</i>

Screenshots

<img src="docs/demo.gif" alt="Demo" /><br/>Example of running atmos to describe infrastructure.

Introduction

Atmos centralizes the DevOps chain and cloud automation/orchestration into a robust command-line tool, streamlining environments and workflows into straightforward CLI commands. Leveraging advanced hierarchical configurations, it efficiently orchestrates both local and CI/CD pipeline tasks, optimizing infrastructure management for engineers and cloud architects alike. You can then run the CLI anywhere, such as locally or in CI/CD.

The Atmos project consists of a command-line tool, a Go library, and even a terraform provider. It provides numerous conventions to help you provision, manage, and orchestrate workflows across various toolchains. You can even access the configurations natively from within terraform using our terraform-provider-utils.

Cloud Posse uses this tool extensively for automating cloud infrastructure with Terraform and Kubernetes, but it can be used to automate any complex workflow.

[!TIP]

Did you know?

By leveraging Atmos in conjunction with Cloud Posse's expertise in AWS, terraform blueprints, and our knowledgeable community, teams can achieve operational mastery and innovation faster, transforming their infrastructure management practices into a competitive advantage.

Core Features

Atmos streamlines Terraform orchestration, environment, and configuration management, offering developers and DevOps a set of powerful tools to tackle deployment challenges. Designed to be cloud agnostic, it enables you to operate consistently across various cloud platforms. These features boost efficiency, clarity, and control across various environments, making it an indispensable asset for managing complex infrastructures with confidence.

See all features of Atmos.

Use Cases

Atmos has consistently demonstrated its effectiveness in addressing these key use-cases, showcasing its adaptability and strength in the cloud infrastructure and DevOps domains:

[!TIP] Don't see your use-case listed? Ask us in the #atmos Slack channel, or join us for "Office Hours" every week.

Moreover, atmos is not only a command-line interface for managing clouds and clusters. It provides many useful patterns and best practices, such as:

Documentation

Find all documentation at: atmos.tools

✨ Contributing

This project is under active development, and we encourage contributions from our community.

Many thanks to our outstanding contributors:

<a href="https://github.com/cloudposse/atmos/graphs/contributors"> <img src="https://contrib.rocks/image?repo=cloudposse/atmos&max=24" /> </a>

For πŸ› bug reports & feature requests, please use the issue tracker.

In general, PRs are welcome. We follow the typical "fork-and-pull" Git workflow.

  1. Review our Code of Conduct and Contributor Guidelines.
  2. Fork the repo on GitHub
  3. Clone the project to your own machine
  4. Commit changes to your own branch
  5. Push your work back up to your fork
  6. Submit a Pull Request so that we can review your changes

NOTE: Be sure to merge the latest changes from "upstream" before making a pull request!

🌎 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 <a href="https://cloudposse.com/office-hours?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/atmos&utm_content=office_hours"><img src="https://img.cloudposse.com/fit-in/200x200/https://cloudposse.com/wp-content/uploads/2019/08/Powered-by-Zoom.png" align="right" /></a>

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!

License

<a href="https://opensource.org/licenses/Apache-2.0"><img src="https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge" alt="License"></a>

<details> <summary>Preamble to the Apache License, Version 2.0</summary> <br/> <br/>

Complete license is available in the LICENSE file.

Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
</details>

Trademarks

All other trademarks referenced herein are the property of their respective owners.


Copyright Β© 2017-2024 Cloud Posse, LLC

<a href="https://cloudposse.com/readme/footer/link?utm_source=github&utm_medium=readme&utm_campaign=cloudposse/atmos&utm_content=readme_footer_link"><img alt="README footer" src="https://cloudposse.com/readme/footer/img"/></a>

<img alt="Beacon" width="0" src="https://ga-beacon.cloudposse.com/UA-76589703-4/cloudposse/atmos?pixel&cs=github&cm=readme&an=atmos"/>