atmos list
Explore the stacks, components, and workflows available in your project. Compare configuration across environments, inspect dependencies, and export inventories for scripts and CI.
Learn how to configure stacks, components, and the list command column customization.
Usage
Atmos provides a powerful feature to customize the columns displayed by various atmos list commands (e.g., atmos list stacks, atmos list components, atmos list workflows). This allows you to tailor the tabular output to show precisely the information you need for different contexts.
Column customization is configured within your atmos.yaml file using Go template expressions, enabling dynamic values based on stack, component, or workflow data. This guide explains how to configure and use this feature.
Subcommands
Use this command to list affected components and stacks between Git commits in a table format
Use this command to list Atmos components
Use this command to visualize dependency relationships between Atmos components.
Use this command to list the journal of default changes between Atmos editions.
Use this command to list all Atmos component instances across stacks
Use this command to list component metadata across all stacks
Use this command to list component settings across all stacks
List all components with source configuration across all component types
Use this command to list all Stack configurations or stacks for a specified component
List available terminal themes for markdown rendering
Use this command to list component values across all stacks
Use this command to list component variables across all stacks
Use this command to list all vendored components and modules
Use this command to list all workflows defined in your Atmos project
Supported List Commands
| Command | Description |
|---|---|
atmos list stacks | Lists all defined stacks in your project. A stack is a named configuration representing a deployment environment (e.g., dev/us-east-1, prod/eu-west-1). |
atmos list components | Lists all available components (Terraform, Helmfile, etc.) defined in the project. Components are reusable infrastructure building blocks. |
atmos list workflows | Lists all defined workflows, which are custom command sequences defined in atmos.yaml to streamline repetitive tasks. |
atmos list values | Displays the fully resolved configuration values for a specified component in a stack, after inheritance and imports are applied. |
atmos list vars | Lists the Terraform vars (input variables) that will be passed to a component for a given stack. Useful for debugging variable resolution. |
atmos list settings | Shows the settings block, typically used for configuring a component’s behavior (e.g., module version, backend type). |
atmos list metadata | Displays the metadata block associated with a component in a stack, including attributes like stage, tenant, environment, and namespace. |
You can define custom columns for each of these commands individually in your atmos.yaml.
How Column Customization Works
To customize columns for a specific list command, navigate to the relevant section (e.g., stacks, components, workflows) in your atmos.yaml configuration file. Within that section, define a list block.
Inside the list block:
- Specify the output
format(optional, defaults totable). Other options includejson,yaml,csv,tsv. - Define a
columnsarray. Each element in this array represents a column in the output table and must have:name: The string that will appear as the column header.value: A Go template string that dynamically determines the value for each row in that column.
Example Structure:
# In atmos.yaml
stacks: # Or components, workflows, etc.
list:
format: table # Optional
columns:
- name: "Header 1"
value: "{{ .some_template_variable }}"
- name: "Header 2"
value: "Static Text or {{ .another_variable }}"
# ... more columns
YAML Template Syntax
The value field in each column definition supports Go templates. The available variables within the template depend on the specific atmos list command being customized:
For atmos list stacks:
{{ .stack_name }} # Name of the stack
{{ .stack_path }} # Filesystem path to the stack configuration file
For atmos list components:
{{ .component_name }} # Name of the component
{{ .component_type }} # Type of the component (e.g., terraform, helmfile)
{{ .component_path }} # Filesystem path to the component directory
For atmos list workflows:
{{ .name }} # The name of the workflow
{{ .file }} # The manifest name
{{ .description }} # The description provided for the workflow