Settings
The settings section configures Atmos global settings that affect how stacks are processed, how lists are merged, how output is displayed, and how authentication tokens are injected for private repositories.
Configuration
Settings Sections
| Section | Description |
|---|---|
| Experimental | Control experimental feature behavior |
| Terminal | Terminal display, color, width, pager, and syntax highlighting |
| Secret Masking | Automatic secret detection and masking in output |
| Markdown Styling | Customize markdown rendering in terminal |
| Atmos Pro | Atmos Pro integration for stack locking and workspace management |
List Merge Strategy
settings.list_merge_strategySpecifies how lists are merged in Atmos stack manifests. Can also be set using
ATMOS_SETTINGS_LIST_MERGE_STRATEGYenvironment variable or--settings-list-merge-strategycommand-line argument.The following strategies are supported:
replace- Most recent list imported wins (the default behavior).
append- The sequence of lists is appended in the same order as imports.
merge- The items in the destination list are deep-merged with the items in the source list. The items in the source list take precedence. The items are processed starting from the first up to the length of the source list (the remaining items are not processed). If the source and destination lists have the same length, all items in the destination lists are deep-merged with all items in the source list.
Token Injection
Atmos can automatically inject authentication tokens when vendoring from private repositories. This eliminates the need to embed credentials in vendor URLs.
For each VCS provider, two pieces of configuration are involved:
- A boolean
inject_<provider>_tokenflag that turns injection on or off. - One or more token fields that supply the credential. Atmos prefers the Atmos-specific token (
atmos_<provider>_token/ATMOS_<PROVIDER>_TOKEN) and falls back to the standard token (<provider>_token/<PROVIDER>_TOKEN) so Atmos credentials don't collide with those used by Terraform or other tools running in the same shell.
GitHub
settings.inject_github_tokenEnables automatic GitHub token injection when vendoring from private GitHub repositories. Defaults to
true.Set to
falseto disable automatic GitHub token injection.- Type:
boolean - Default:
true - Environment Variable:
ATMOS_INJECT_GITHUB_TOKEN
- Type:
settings.atmos_github_tokenAtmos-specific GitHub token. Tried first when injecting credentials. Use this when you want a dedicated token for Atmos that is independent of
GITHUB_TOKEN.- Type:
string - Environment Variable:
ATMOS_GITHUB_TOKEN
- Type:
settings.github_tokenStandard GitHub token, used as a fallback when
atmos_github_tokenis unset.- Type:
string - Environment Variable:
GITHUB_TOKEN
- Type:
settings.github_usernameSpecifies the GitHub username for OCI registry authentication to GitHub Container Registry (ghcr.io).
When pulling artifacts from ghcr.io using
oci://ghcr.io/...sources, Atmos requires a GitHub username along with the token. The username can be configured via:github_usernamesetting inatmos.yamlATMOS_GITHUB_USERNAMEenvironment variable (highest precedence)GITHUB_ACTORenvironment variable (automatically set in GitHub Actions)GITHUB_USERNAMEenvironment variable
Configuration example:
settings:
github_username: "myusername"GitHub Actions usage:
# In GitHub Actions, GITHUB_ACTOR is automatically available
# No additional configuration needed
- name: Pull from GHCR
run: atmos vendor pull -c my-component
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# GITHUB_ACTOR is automatically set by GitHub ActionsNote: Unlike Git repository authentication (which uses
x-access-tokenas username), GitHub Container Registry requires your actual GitHub username. Without a username, authentication will fail even ifATMOS_GITHUB_TOKENorGITHUB_TOKENis set.
GitLab
settings.inject_gitlab_tokenEnables automatic GitLab token injection when vendoring from private GitLab repositories.
- Type:
boolean - Default:
false - Environment Variable:
ATMOS_INJECT_GITLAB_TOKEN
- Type:
settings.atmos_gitlab_tokenAtmos-specific GitLab token. Tried first when injecting credentials.
- Type:
string - Environment Variable:
ATMOS_GITLAB_TOKEN
- Type:
settings.gitlab_tokenStandard GitLab token, used as a fallback when
atmos_gitlab_tokenis unset.- Type:
string - Environment Variable:
GITLAB_TOKEN
- Type:
Bitbucket
settings.inject_bitbucket_tokenEnables automatic Bitbucket token injection when vendoring from private Bitbucket repositories.
- Type:
boolean - Default:
false - Environment Variable:
ATMOS_INJECT_BITBUCKET_TOKEN
- Type:
settings.atmos_bitbucket_tokenAtmos-specific Bitbucket token. Tried first when injecting credentials.
- Type:
string - Environment Variable:
ATMOS_BITBUCKET_TOKEN
- Type:
settings.bitbucket_tokenStandard Bitbucket token, used as a fallback when
atmos_bitbucket_tokenis unset.- Type:
string - Environment Variable:
BITBUCKET_TOKEN
- Type:
settings.bitbucket_usernameOptional Bitbucket username for token authentication. Defaults to
x-token-auth.- Type:
string - Default:
x-token-auth - Environment Variable:
BITBUCKET_USERNAME
- Type:
Deprecated Settings
settings.docs(Deprecated)- Deprecated
The
settings.docssection is deprecated and will be removed in a future version. Please usesettings.terminalinstead.max-width(Deprecated)- Use
settings.terminal.max_widthinstead. pagination(Deprecated)- Use
settings.terminal.pagerinstead.
Environment Variables
ATMOS_SETTINGS_LIST_MERGE_STRATEGY- List merge strategy:
replace,append,merge. Maps tosettings.list_merge_strategy. ATMOS_INJECT_GITHUB_TOKEN- Enable or disable automatic GitHub token injection (
true/false). Maps tosettings.inject_github_token. ATMOS_GITHUB_TOKEN- Atmos-specific GitHub token. Tried before
GITHUB_TOKEN. Maps tosettings.atmos_github_token. GITHUB_TOKEN- Standard GitHub token, used as a fallback. Maps to
settings.github_token. ATMOS_GITHUB_USERNAME- GitHub username for GHCR authentication. Maps to
settings.github_username. ATMOS_INJECT_GITLAB_TOKEN- Enable or disable automatic GitLab token injection (
true/false). Maps tosettings.inject_gitlab_token. ATMOS_GITLAB_TOKEN- Atmos-specific GitLab token. Tried before
GITLAB_TOKEN. Maps tosettings.atmos_gitlab_token. GITLAB_TOKEN- Standard GitLab token, used as a fallback. Maps to
settings.gitlab_token. ATMOS_INJECT_BITBUCKET_TOKEN- Enable or disable automatic Bitbucket token injection (
true/false). Maps tosettings.inject_bitbucket_token. ATMOS_BITBUCKET_TOKEN- Atmos-specific Bitbucket token. Tried before
BITBUCKET_TOKEN. Maps tosettings.atmos_bitbucket_token. BITBUCKET_TOKEN- Standard Bitbucket token, used as a fallback. Maps to
settings.bitbucket_token. BITBUCKET_USERNAME- Bitbucket username for authentication. Maps to
settings.bitbucket_username.
See Also
- CLI Configuration — Overview of CLI configuration
- Environment Variables — All configuration environment variables