atmos-config

Atmos Project Configuration (atmos.yaml)

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "atmos-config" with this command: npx skills add cloudposse/atmos/cloudposse-atmos-atmos-config

Atmos Project Configuration (atmos.yaml)

The atmos.yaml file is the central project configuration for Atmos. It defines how Atmos discovers stacks, where components live, how templates are processed, and how every subsystem (auth, stores, workflows, toolchain, validation, integrations) is configured. Every Atmos project needs at least one atmos.yaml .

Configuration Discovery

Atmos searches for atmos.yaml in this order (first found wins):

  • --config CLI flag or ATMOS_CLI_CONFIG_PATH environment variable.

  • Active profile (--profile flag or ATMOS_PROFILE environment variable).

  • Current working directory (./atmos.yaml ).

  • Git repository root (<repo-root>/atmos.yaml ).

  • Parent directory walk (searches upward until found).

  • Home directory (~/.atmos/atmos.yaml ).

  • System directory (/usr/local/etc/atmos/atmos.yaml on Linux/macOS, %LOCALAPPDATA%/atmos/atmos.yaml on Windows).

When multiple files are found, they are deep-merged with earlier sources taking precedence.

Environment Variable Override

Most atmos.yaml settings can be overridden via environment variables using the ATMOS_ prefix:

ATMOS_BASE_PATH=/path/to/project ATMOS_STACKS_BASE_PATH=stacks ATMOS_COMPONENTS_TERRAFORM_BASE_PATH=components/terraform ATMOS_WORKFLOWS_BASE_PATH=stacks/workflows ATMOS_LOGS_LEVEL=Debug

Minimal Configuration

The simplest atmos.yaml that works:

base_path: ""

stacks: base_path: "stacks" included_paths: - "/*" excluded_paths: - "/_defaults.yaml" - "catalog/**/*" name_template: "{{ .vars.stage }}"

components: terraform: base_path: "components/terraform"

Complete Section Overview

The atmos.yaml file supports these top-level sections. Each section is documented in detail in the sections reference.

Core Structure

Section Purpose Related Skill

base_path

Root directory for all relative paths

stacks

Stack manifest discovery, naming, inheritance atmos-stacks

components

Component type paths and settings (Terraform, Helmfile, Packer, Ansible) atmos-components

import

Import other atmos.yaml files for modular configuration

version

Minimum/maximum Atmos version requirements

Subsystems

Section Purpose Related Skill

workflows

Workflow file discovery path atmos-workflows

commands

Custom CLI command definitions atmos-custom-commands

aliases

Command alias mappings atmos-custom-commands

templates

Go template and Gomplate processing settings atmos-templates

schemas

Validation schema base paths (JSON Schema, OPA, CUE) atmos-schemas

validate

Validation behavior (EditorConfig) atmos-validation

Platform

Section Purpose Related Skill

auth

Authentication providers, identities, keyring, integrations atmos-auth

stores

External key-value store backends atmos-stores

vendor

Vendoring base path and retry settings atmos-vendoring

toolchain

CLI tool version management, registries, aliases atmos-toolchain

devcontainer

Development container configurations atmos-devcontainer

Settings and Integrations

Section Purpose Related Skill

settings

Global CLI behavior: terminal, telemetry, experimental features

integrations

Atlantis, GitHub Actions, Atmos Pro configuration atmos-gitops

logs

Log level and log file path

errors

Error format and Sentry integration

env

Global environment variables for all operations

profiles

Named configuration profiles base path

describe

describe command behavior settings atmos-introspection

docs

Documentation generation settings

metadata

Project metadata (name, version, tags)

Common Configuration Patterns

Multi-Environment Project

base_path: ""

stacks: base_path: "stacks" included_paths: - "orgs//*" excluded_paths: - "/_defaults.yaml" - "catalog//*" - "mixins//*" name_template: "{{ .vars.tenant }}-{{ .vars.environment }}-{{ .vars.stage }}"

components: terraform: base_path: "components/terraform" command: "/usr/bin/terraform" helmfile: base_path: "components/helmfile"

workflows: base_path: "stacks/workflows"

logs: level: Info

With Authentication and Stores

base_path: ""

stacks: base_path: "stacks" included_paths: - "deploy//*" excluded_paths: - "/_defaults.yaml" - "catalog/**/*" name_template: "{{ .vars.stage }}"

components: terraform: base_path: "components/terraform"

auth: providers: company-sso: kind: aws/iam-identity-center region: us-east-1 start_url: https://company.awsapps.com/start identities: dev-admin: kind: aws/permission-set default: true via: provider: company-sso principal: name: AdminAccess account: name: development

stores: ssm/dev: type: aws-ssm-parameter-store options: region: us-east-1 identity: dev-admin

With Toolchain and Validation

base_path: ""

stacks: base_path: "stacks" included_paths: - "/*" excluded_paths: - "/_defaults.yaml" name_template: "{{ .vars.stage }}"

components: terraform: base_path: "components/terraform"

schemas: jsonschema: base_path: "stacks/schemas/jsonschema" opa: base_path: "stacks/schemas/opa"

toolchain: registries: - type: aqua ref: "v4.332.0"

settings: terminal: pager: false syntax_highlighting: enabled: true

Importing Other Config Files

atmos.yaml

import:

  • atmos.d/stacks.yaml
  • atmos.d/auth.yaml
  • atmos.d/stores.yaml

base_path: "" components: terraform: base_path: "components/terraform"

Imported files are deep-merged into the main configuration, allowing modular organization of large configs.

Profiles

profiles/developer/atmos.yaml

auth: providers: company-sso: session: duration: 8h

profiles/ci/atmos.yaml

auth: providers: github-oidc: kind: github/oidc region: us-east-1

Activate with --profile developer or ATMOS_PROFILE=ci .

Terraform Component Settings

The components.terraform section has extensive subsystem configuration:

components: terraform: base_path: "components/terraform" command: "terraform" apply_auto_approve: false deploy_run_init: true init_run_reconfigure: true auto_generate_backend_file: true

# Backend defaults applied to all Terraform components
backend_type: s3
backend:
  s3:
    encrypt: true
    bucket: "acme-terraform-state"
    dynamodb_table: "acme-terraform-state-lock"
    region: "us-east-1"
    key: "terraform.tfstate"
    acl: "bucket-owner-full-control"
    workspace_key_prefix: "terraform"

# Shell configuration for `atmos terraform shell`
shell:
  shell: "/bin/bash"

For the complete Terraform configuration reference, see the atmos-terraform skill.

Settings Section

Global CLI behavior and feature settings:

settings:

Terminal/UI settings

terminal: pager: false max_width: 120 colors: true unicode: true syntax_highlighting: enabled: true theme: dracula masking: enabled: true

Telemetry

telemetry: enabled: true

Experimental features

experimental: enabled: false

Version Constraints

Pin the minimum Atmos version required for the project:

version: check: enabled: true constraints: ">= 1.100.0"

Debugging Configuration

Show resolved configuration

atmos describe config

Show where atmos.yaml was loaded from

ATMOS_LOGS_LEVEL=Debug atmos version

Validate the configuration

atmos validate stacks

Key Principles

  • Single source of truth: One atmos.yaml (or a set of imported files) configures the entire project.

  • Convention over configuration: Sensible defaults minimize required settings.

  • Deep merging: Multiple config sources are merged, with CLI flags taking highest precedence.

  • Environment variable overrides: Every setting has a corresponding ATMOS_ environment variable.

  • Modular composition: Use import to split large configs across files.

  • Profile switching: Named profiles swap entire config sections for different contexts.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

atmos-stores

No summary provided by upstream source.

Repository SourceNeeds Review
General

atmos-design-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

atmos-helmfile

No summary provided by upstream source.

Repository SourceNeeds Review
General

atmos-custom-commands

No summary provided by upstream source.

Repository SourceNeeds Review