Skip to main content

Keyring

Atmos supports three keyring backends for storing authentication credentials. Configure the keyring in the auth.keyring section of your atmos.yaml.

System Keyring (Default)​

Uses your operating system's native secure credential storage:

  • macOS: Keychain
  • Linux: Secret Service (GNOME Keyring, KDE Wallet)
  • Windows: Windows Credential Manager
atmos.yaml
auth:
keyring:
type: system

This is the default and recommended option for interactive use. Credentials are stored securely using the operating system's built-in credential management.

File Keyring​

AES-256 encrypted file-based storage with password protection.

atmos.yaml
auth:
keyring:
type: file
spec:
path: ~/.atmos/keyring # Optional custom path
password_env: ATMOS_KEYRING_PASSWORD # Optional env var name
type
Required. Must be file.
spec.path
Optional. Custom path for the keyring file. Defaults to XDG data directory.
spec.password_env
Optional. Environment variable name containing the keyring password. Defaults to ATMOS_KEYRING_PASSWORD.

Password resolution order:

  1. Environment variable (ATMOS_KEYRING_PASSWORD or custom from password_env)
  2. Interactive prompt (if TTY available)
  3. Error if neither available

Use Cases​

File keyring is useful for:

  • Headless servers without system keyring support
  • Docker containers
  • CI/CD environments with persistent storage
  • Shared credentials across multiple machines

Memory Keyring​

In-memory storage with no persistence (credentials lost on exit).

atmos.yaml
auth:
keyring:
type: memory

Best for:

  • Unit tests
  • Temporary credential caching
  • Environments where persistence is not desired
warning

Memory keyring does not persist credentials. You will need to re-authenticate after every Atmos restart.

Environment Variables​

ATMOS_KEYRING_TYPE
Override keyring type (system, file, memory).
ATMOS_KEYRING_PASSWORD
Password for file keyring.

Choosing a Keyring Type​

TypePersistenceSecurityUse Case
systemYesHigh (OS-managed)Interactive workstations
fileYesMedium (encrypted)Servers, containers, CI/CD
memoryNoLow (in-process)Testing, temporary sessions

Storing Credentials​

Use atmos auth user configure to store IAM user credentials in the keyring:

# Store credentials for an aws/user identity
atmos auth user configure --identity emergency-user

This command prompts for access key ID and secret access key, then stores them securely in the configured keyring backend.

See Also​

  • Profiles — Use profiles to configure different keyring settings for CI vs local development