MCPcopy Index your code
hub / github.com/cloudposse/atmos

github.com/cloudposse/atmos @v1.222.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.222.0 ↗ · + Follow
38,234 symbols 199,799 edges 3,653 files 21,407 documented · 56%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

name: atmos

license: APACHE2

logo: docs/img/atmos-logo-128.svg

github_repo: cloudposse/atmos

badges: - name: Latest Release image: https://img.shields.io/github/release/cloudposse/atmos.svg?style=for-the-badge url: https://github.com/cloudposse/atmos/releases/latest - name: "Last Updated" image: https://img.shields.io/github/last-commit/cloudposse/atmos/main?style=for-the-badge url: https://github.com/cloudposse/atmos/commits/main/ - name: Tests image: https://img.shields.io/github/actions/workflow/status/cloudposse/atmos/test.yml?style=for-the-badge url: https://github.com/cloudposse/atmos/actions/workflows/test.yml - name: Slack Community image: https://slack.cloudposse.com/for-the-badge.svg url: https://slack.cloudposse.com

categories: - cli - automation - cloud - devops - workflow - terraform - helm - helmfile - kubernetes - aws

Screenshots

screenshots: - name: "Demo" description: "

Example of running atmos to describe infrastructure." url: "docs/demo.gif"

description: |- Run your infrastructure anywhere.

Atmos is the open-source runtime for infrastructure — it builds, authenticates, and ships Terraform, OpenTofu, Kubernetes, Helm, and containers the same way on your laptop, in CI, and with AI agents. Auth, secrets, vendoring, caching, the toolchain, workflows, and CI are built in. Point every environment at the same reusable root modules and treat the rest as configuration. Stop stringing together 25 tools.

Run it on your laptop. Run it the same in CI. Run it with agents.

Everything is open source and free.

[!TIP]

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

Open in GitHub Codespaces

Already start one? Find it here.

introduction: |-

Atmos turns sprawling cloud infrastructure into one declarative system you can run consistently — locally, in CI/CD, and through AI agents. Model your platform once as stacks and components, authenticate once, and run the same commands everywhere. The same code deploys to every region, environment, and stage with DRY configuration — no copy-paste, no bespoke wrapper scripts, no glue.

Cloud Posse builds and operates production infrastructure on AWS, Azure, and GCP with Atmos every day — and so do startups and enterprises managing thousands of components.

## Everything you'd otherwise bolt on

Auth, secrets, vendoring, caching, the toolchain, workflows, CI, and AI are part of the runtime — not a pile of plugins you wire together.

  • Unified Auth: One identity layer across AWS, Azure, and GCP — SSO, OIDC, and federation. EKS and ECR login happen automatically, and the same identity feeds Terraform, stores, and emulators.
  • Secrets Management: Declare secrets per environment, source them from 10+ backends (1Password, SSM, Vault, SOPS, and more), and mask them across every channel.
  • Vendoring: Pull every dependency just-in-time with version pinning and retries — no separate vendor step.
  • Caching & Mirroring: A native build cache plus a transparent Terraform provider and module registry mirror — warm in CI, instant on your laptop.
  • Toolchain: Auto-install the exact Terraform, OpenTofu, and Helmfile versions your stacks need — verified by checksum.
  • Workflows & Automation: Orchestrate, automate, and chain anything with 25+ step types and custom commands across every component.
  • GitOps & CI/CD: The same commands locally and in CI. Detect affected components, emit matrices, and catch drift.
  • AI + MCP: Chat about your infrastructure, run 20+ skills, expose Atmos as an MCP server, or add --ai to any command.

## Run anything, the same way

  • Terraform & OpenTofu like a platform team. Plan and apply across every component in dependency order with bounded concurrency. Backends and providers are generated for you, and drift is caught automatically.
  • Kubernetes & Helm as first-class workloads. Model Helmfile and Kubernetes releases beside the rest of your stack, with the same CLI you already use for Terraform.
  • Containers and cloud emulators. Containers and dev containers are workloads too — and you can spin up cloud emulators locally so your whole stack runs on your laptop, with no account required to iterate.
  • Bring your own. Packer, Ansible, or your own component types plug into the same registry the built-ins use.

## Your laptop is the CI. CI is your laptop.

Same command, same auth, same secrets, same toolchain — whether you run it locally or in a pipeline. Atmos is git-aware: it detects what changed and plans or applies only the affected components, so CI does exactly the work that changed — nothing more.

## Built for your agents

Everything is declarative and self-documenting, so AI agents can reason about your infrastructure instead of stringing together 25 tools and praying. Atmos ships a catalog of portable agent skills — working across Claude Code, Cursor, Gemini, and Copilot — and an MCP server so any agent can install what it needs and drive Atmos directly, as native tools, with no custom integration.

## Extend it without forking it

  • Custom Commands: Wrap any script as a first-class atmos command with flags, args, and identity.
  • YAML Functions: Resolve state, outputs, secrets, and Git metadata right inside your config.
  • Hooks: Run infracost, checkov, trivy, or any command on lifecycle events.
  • Stores: Plug in SSM, Secrets Manager, Key Vault, Vault, Redis, and more for cross-component data.
  • Validation: Enforce your own guardrails with OPA/Rego policies and JSON Schema.
  • Templates & Data Sources: Pull live data into your config with Go templates and Gomplate datasources.

## Use Cases

Atmos has consistently proven its strength across the cloud infrastructure and DevOps domains:

  • Managing Large Multi-Account Cloud Environments: Suitable for organizations using multiple cloud accounts to separate different projects or stages of development.
  • Cross-Platform Cloud Architectures: Ideal for businesses that need to manage configuration of services across AWS, GCP, Azure, etc., to build a cohesive system.
  • Multi-Tenant Systems for SaaS: Perfect for SaaS companies looking to host multiple customers within a unified infrastructure. Define a baseline tenant configuration once, then onboard new tenants by reusing this baseline through pure configuration — no further code required.
  • Efficient Multi-Region Deployments: Define baseline configurations with stacks and extend them across regions with DRY principles through imports and inheritance.
  • Compliant Infrastructure for Regulated Industries: Create vetted configurations that comply with SOC2, HIPAA, HITRUST, PCI, and other standards, then share and reuse them across the organization via service catalogs, component libraries, vendoring, and OPA policies.
  • Empowering Teams with Self-Service Infrastructure: Let teams manage their infrastructure independently, using predefined templates and policies.

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

## Telemetry

Atmos collects anonymous telemetry to help improve the product by understanding how it's used.

You can opt-out of telemetry collection in either of the following ways:

  • Set settings.telemetry.enabled: false in your atmos.yaml
  • Or set the environment variable: ATMOS_TELEMETRY_ENABLED=false

Note for Atmos Pro users: If you're using Atmos Pro, your workspace ID will be included in telemetry events. This allows our team to provide more effective support and assist with troubleshooting as part of your subscription.

To learn more about what is collected and how it works, see the Telemetry Documentation.

## Documentation

Find all documentation at: atmos.tools

contributors: []

Extension points exported contracts — how you extend this code

Rule (Interface)
Rule represents a linting rule that can be applied to Go source files. [6 implementers]
tools/lintroller/rule.go
Opener (Interface)
Opener opens URLs in a browser. [9 implementers]
pkg/browser/browser.go
Resolver (Interface)
Resolver interface must match your actual implementation. [30 implementers]
pkg/toolchain/exec_test.go
Runtime (Interface)
Runtime defines the interface for container runtime operations. This interface abstracts Docker and Podman operations fo [11 …
pkg/container/runtime.go
ClientFactory (Interface)
ClientFactory abstracts the creation of a downloader client for better testability. [6 implementers]
pkg/downloader/file_downloader_interface.go
FileResettable (Interface)
FileResettable is an optional capability for file-based providers (e.g. SOPS) that can rewrite their whole backing file [10 …
pkg/secrets/providers/provider.go
Doer (Interface)
Doer performs an HTTP request. Implemented by pkg/http.Client and *http.Client; injectable so tests can stub upstream. [13 …
pkg/http/proxy/proxy.go
ConfigSetter (Interface)
ConfigSetter is an optional interface for identities that need access to the full config. Used by GCP identities to acce [6 …
pkg/auth/factory/factory.go

Core symbols most depended-on inside this repo

Run
called by 7536
pkg/hooks/kind.go
Errorf
called by 5342
pkg/ui/interfaces.go
Error
called by 4549
pkg/io/interfaces.go
Track
called by 3771
pkg/perf/perf.go
Len
called by 1951
pkg/function/registry.go
String
called by 1751
pkg/function/phase.go
Debug
called by 1653
pkg/logger/logrus_adapter.go
WriteFile
called by 1531
pkg/filesystem/interface.go

Shape

Function 27,533
Method 7,431
Struct 2,606
Interface 416
FuncType 130
TypeAlias 116
Class 2

Languages

Go99%
TypeScript1%
Python1%

Modules by API surface

pkg/auth/types/mock_interfaces.go172 symbols
cmd/mcp/server/start_test.go171 symbols
pkg/auth/manager_test.go164 symbols
pkg/schema/schema.go128 symbols
cmd/ai/exec_test.go105 symbols
internal/exec/stack_processor_utils_test.go98 symbols
pkg/ai/agent/bedrock/client_test.go97 symbols
pkg/auth/identities/aws/assume_role_test.go91 symbols
pkg/ui/formatter_test.go90 symbols
pkg/scheduler/adapters/terraform.go90 symbols
pkg/auth/identities/aws/assume_root_test.go88 symbols
pkg/ai/agent/anthropic/client_test.go84 symbols

Datastores touched

dbDatabase · 1 repos
dbnameDatabase · 1 repos
eventsDatabase · 1 repos
mydbDatabase · 1 repos

For agents

$ claude mcp add atmos \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact