Skip to main content

Unified Import Adapter Registry

· One min read
Erik Osterman
Founder @ Cloud Posse

Atmos now includes a unified import adapter registry that provides a modular, extensible architecture for configuration imports.

What Changed​

The import system has been refactored to use an adapter-based registry pattern:

  • GoGetterAdapter handles all remote imports (http://, https://, git::, s3::, gcs::, oci://, etc.)
  • LocalAdapter handles local filesystem paths
  • MockAdapter provides synthetic YAML generation for testing

This replaces the previous if/else chain with a clean, extensible registry that routes imports to the appropriate adapter based on URL scheme.

Why This Matters​

The new architecture:

  • Fixes go-getter routing - All go-getter schemes now work correctly (git::, s3::, gcs::, oci://, etc.)
  • Enables extensibility - New import schemes can be added by implementing the ImportAdapter interface
  • Improves testability - The mock:// scheme enables testing without external dependencies
  • Follows established patterns - Consistent with the command registry and store registry patterns

How to Use It​

Existing imports continue to work unchanged. The new architecture is transparent to users while enabling future extensibility like terragrunt:// for HCL-to-YAML transformation.

For usage and configuration, see Import Stack Configurations.