Simple Atmos Tutorial
In this simple example, we will show you, how you can Terraform the weather. We won’t focus on more advanced concepts like configuring state backends or integrating with specific cloud providers, allowing us to concentrate on the core concepts of Atmos.
You're about to discover a new way to think about terraform...
You will learn
- How to set up a project repository to organize your Terraform code and configurations
- How to configure the Atmos CLI to work with the project
- Write a simple Terraform root module
- How to create stacks and configure the root module as a component of a stack
- Finally, how to deploy everything using Atmos
Spoiler alert You can’t actually change the weather with Terraform, but you can certainly ask for it.
We’ll use this example to avoid relying on complicated cloud credentials, which can vary based on your organizational context and cloud provider. Instead, we want to focus on Terraform and how to utilize it effectively as a component within Atmos. Once you understand this, you’ll see how to tailor your Terraform "root modules" to work seamlessly with Atmos.
NOTE: This tutorial is for those who prefer hands-on learning and want to create something tangible quickly. If you prefer to learn theory and concepts first, start with the Core Concepts.
Prerequisites
Here's what you'll need to get started with this tutorial.
You can try out atmos
directly in your browser using GitHub Codespaces
We bundle all the examples and tools you need to get started with Atmos in a GitHub Codespace. Click the button below to start a new Codespace with the Atmos repository (it's FREE).
Then, when you're ready for a deeper understanding of using Atmos with Terraform, handling state management and working with AWS authentication, please refer to our advanced quick start guide.
Extra Credit
After you finish mastering the basics, maybe check out the "Extra Credit" exercises to learn how to...
- Deploy additional instances of your components
- Automate common operations with workflows
- Customize the Atmos CLI by adding your own commands
- Vendor your dependencies for proper Immutable Infrastructure
What's Included
Start your first project in 5 easy steps. After this, you can configure and provision infrastructure with Terraform using Atmos.
📄️ 1. Start Your Project
The folder structure for an Atmos project is designed to organize your infrastructure effectively on the file system. It separates configuration from code, ensuring your Terraform root modules are distinct and reusable.
📄️ 2. Configure Atmos CLI
The atmos.yaml configuration file controls the behavior of the atmos CLI and how Atmos will work with your project.
📄️ 3. Write Some Components
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.
📄️ 4. Configure with Stacks
Atmos Stacks are the configuration for your components. It's how you can combine multiple reusable, stateful
📄️ 5. Deploy Everything
After you've written your components and configured your stacks, now we're ready to deploy them!
🗃️ Extra Credit!
4 items
📄️ Next Steps
Atmos provides unlimited flexibility in defining and configuring stacks and components in the stacks.
Ready to learn this topic?
Start with the first step, which is configuring your project for Atmos. Configure Project