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 three registry types:
1. Aqua Registry
The Aqua registry is a community-maintained collection of 1,000+ CLI tool definitions with battle-tested metadata.
atmos.yaml
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:
atmos.yaml
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:
atmos.yaml
Registry Source Patterns
Atmos supports two registry file organization patterns:
Single Index File (Recommended)
All tool definitions in one file:
atmos.yaml
registry.yaml
Benefits:
- Simplest to maintain
- All tools in one place
- Matches official Aqua registry structure
Per-Package Directory
Separate file per package for larger registries:
atmos.yaml
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):
atmos.yaml
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
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
- Default: 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:
registry.yaml
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:
registry.yaml
HTTP Download
Download from direct URLs:
registry.yaml
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
atmos.yaml
Registry definitions are cached locally for performance. Use atmos toolchain clean to clear the cache and force a refresh.
Related Documentation
- Toolchain Overview - Basic toolchain configuration
- Tool Aliases - Define convenient tool name aliases
- Toolchain Commands - Full command reference
- Aqua Registry - Browse available tools