Atmos Version Tracker

SkillFiles & storage

Atmos Version Tracker: version tracks, lock files, managed external dependency versions, atmos version track commands, !version, file managers, update policy, pinning, and CI verification

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Atmos Version Tracker skill

What this skill tells your AI

The instructions your AI receives, as published by cloudposse/atmos in agent-skills/skills/atmos-version/SKILL.md and read by ahel’s review.

Use this skill for Atmos-managed software versions under the top-level version: section of atmos.yaml.

The Version Tracker manages external dependency versions that Atmos should resolve, lock, apply to files, and verify. It is separate from the top-level atmos version command, which reports the Atmos CLI version.

Related Skills

NeedLoad
Tool installation from tracked versionsatmos-toolchain
Vendored component source versionsatmos-vendoring
Component source provisioningatmos-components
YAML !version functionatmos-yaml-functions
CI gates for lock/file driftatmos-ci

Core Model

Version policy lives in atmos.yaml; resolved versions live in a lock file, usually versions.lock.yaml.

version:
  track: prod
  lock_file: versions.lock.yaml

  dependencies:
    checkout:
      ecosystem: github/actions
      datasource: github-tags
      package: actions/checkout
      desired: v6
      update:
        pin: sha

    opentofu:
      ecosystem: toolchain
      datasource: toolchain
      package: opentofu
      desired: "~1.10"

  tracks:
    prod:
      defaults:
        update:
          strategy: patch
          cooldown: 14d

Important concepts:

  • track: named lane such as dev, staging, or prod.
  • dependencies: base catalog of external versions.
  • tracks.<name>.dependencies: per-track overrides.
  • defaults, entry update, and groups: inherited update policy.
  • lock_file: resolved, deterministic versions read by runtime, file managers, and CI.
  • pin: sha / pin: digest: lock immutable Git SHAs or OCI digests.

Command Workflow

Use atmos version track (alias tracks) for the managed-version command group:

atmos version track list
atmos version track show prod
atmos version track add checkout --package=actions/checkout --pin=sha
atmos version track set checkout --desired=v6
atmos version track lock prod
atmos version track update prod --group=infrastructure
atmos version track status prod --format=json
atmos version track diff prod
atmos version track apply prod --check
atmos version track verify prod

Track selection resolves in this order: positional track argument, --track, version.track, then default.

Use lock to resolve current desired versions as-is. Use update to advance from the locked state within policy: strategy caps, cooldown windows, include/exclude filters, prerelease settings, and groups.

Managed Files

Use version.files when literal files must be rewritten from the lock:

version:
  files:
    - manager: github-actions
      paths:
        - .github/workflows/*.yaml
    - manager: marker
      paths:
        - Dockerfile
    - manager: template
      paths:
        - "**/*.tmpl"

File managers:

  • github-actions: rewrites workflow uses: refs from locked GitHub Action versions.
  • marker: rewrites annotated arbitrary text lines such as # atmos:version nginx.
  • template: renders *.tmpl files with .version context.

Use atmos version track apply <track> --check or atmos version track verify <track> in CI to fail when lock files or managed files drift.

Runtime Usage

Use !version name when a YAML value should come from the active locked track. Use {{ .version.name }} in templates when rendering managed files.

Do not use Version Tracker as a replacement for component versioning patterns. Folder-based component versions, component source:, and vendoring answer "which component source should this stack run?" Version Tracker answers "which external artifact versions should Atmos resolve, lock, apply, and verify?"

Guardrails

  • Keep human-authored policy in atmos.yaml; do not create Renovate or Dependabot config unless the user explicitly asks for those tools.
  • Commit the lock file when tracked versions affect CI, runtime, or generated files.
  • Prefer pin: sha for GitHub Actions so uses: refs are immutable.
  • Use update for policy-aware advancement; use lock for bootstrap or repair.
  • Validate with status, diff, apply --check, and verify before relying on a track in CI.

Signals

GitHub stars
1k
Forks
175
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
atmos-version
Source
github.com/cloudposse/atmos