Toolchain Registries
Toolchain registries define where Atmos finds tool metadata and binaries. Atmos supports multiple registry types with priority-based precedence, allowing you to use official registries, corporate mirrors, and custom tool definitions.
You will learn
- Multiple registry support with priority ordering
- Aqua registry integration (1,000+ pre-configured tools)
- Inline registry for quick prototyping
- Custom registries for private or corporate tools
- File-based and URL-based registry sources
Registry Types
Atmos supports two registry types, aqua and atmos, with the following configuration forms:
1. Aqua Registry
The Aqua registry is a community-maintained collection of 1,000+ CLI tool definitions with battle-tested metadata.
Features:
- Pre-configured tools: terraform, kubectl, helm, aws-cli, and more
- Regular updates from active contributors
- Rich metadata: download URLs, checksums, version mapping
- Proven YAML format used by thousands of teams
2. Atmos Inline Registry
Define tools directly in your atmos.yaml for quick prototyping or custom tools:
Features:
- No external files needed
- Perfect for quick prototyping or small tool sets
- Supports all template variables:
{{.OS}},{{.Arch}},{{.Version}},{{trimV .Version}} - Tools defined using
owner/repoformat
3. Custom File-Based Registry
Use custom registry files for corporate or private tools:
Registry Source Patterns
Atmos supports two registry file organization patterns:
Single Index File (Recommended)
All tool definitions in one file:
Benefits:
- Simplest to maintain
- All tools in one place
- Matches official Aqua registry structure
Per-Package Directory
Separate file per package for larger registries:
Directory structure:
pkgs/
├── hashicorp/
│ └── terraform/
│ └── registry.yaml
└── opentofu/
└── opentofu/
└── registry.yaml
Each registry.yaml contains ONE package definition.
Benefits:
- Better organization for large registries
- Per-tool versioning
- Easier to maintain individual tools
Priority System
Registries are checked in priority order (highest to lowest):
Resolution order:
- Corporate inline tools (priority: 150)
- Corporate registry file (priority: 100)
- Internal mirror (priority: 50)
- Public Aqua registry (priority: 10)
- Error if tool not found in any registry
The curated atmos-builtin registry is always included at priority 100. Set a custom registry's priority above 100 to override its definitions. When toolchain.registries is omitted, Atmos adds the default aqua-public registry at priority 10.
Inspect Configured Registries
Use the configured name when browsing a registry:
atmos toolchain registry list --format json
atmos toolchain registry list corporate --format json
The first command returns descriptors (name, type, and priority) without downloading catalogs. The second lists only the named registry's tools, when its backend supports enumeration. Inline registries support stable name ordering and pagination; per-package URL registries resolve tools by name but do not provide a complete catalog listing.
Registry Configuration Options
name- Unique identifier for the registry
typeRegistry type:
aqua- Aqua registry format (file or URL)atmos- Inline tool definitions
sourceRegistry location (required for
aquatype):- File:
file://./path/to/registry.yaml - Directory:
file://./path/to/pkgs/ - URL:
https://github.com/aquaproj/aqua-registry/tree/main/pkgs
- File:
prioritySearch priority (higher numbers checked first):
- Inline registries: 100-200
- Corporate registries: 50-100
- Public registries: 1-50
- Omitted configured priority: 0
- Default Aqua registry when no registries are configured: 10
toolsInline tool definitions (required for
atmostype):- Key format:
owner/repo - Value: Tool configuration object
- Key format:
Tool Definition Format
Tools in Aqua registries use this format:
Template Variables
Use template variables in asset URLs:
{{.Version}}- Full version string (e.g.,
1.9.8) {{trimV .Version}}- Version without 'v' prefix (e.g.,
1.9.8fromv1.9.8) {{.OS}}- Operating system (
linux,darwin,windows) {{.Arch}}- Architecture (
amd64,arm64) {{trimPrefix .Version "v"}}- Remove prefix from string
{{trimSuffix .Version "-beta"}}- Remove suffix from string
{{replace .Version "." "_"}}- String replacement
Package Types
GitHub Release
Download from GitHub release assets:
HTTP Download
Download from direct URLs:
Supported Archive Formats
Atmos automatically detects and extracts:
.tar.gz- Gzip-compressed tarballs.zip- ZIP archives.gz- Single gzip-compressed binaries- Raw binaries (no extension)
Complete Example
Registry definitions are cached locally for performance. Use atmos toolchain clean --cache-only --force to clear registry/download caches while preserving installed binaries.
Related Documentation
- Toolchain Overview - Basic toolchain configuration
- Tool Aliases - Define convenient tool name aliases
- Toolchain Commands - Full command reference
- Aqua Registry - Browse available tools