This example demonstrates how to import stack configurations from remote sources using go-getter URL schemes.
Atmos supports importing stack configurations from various remote sources:
- HTTP/HTTPS URLs - Raw files from web servers
- Git repositories - Using
git::prefix or platform shorthand - S3 buckets - Using
s3::prefix - Google Cloud Storage - Using
gcs::prefix
remote-stack-imports/
├── atmos.yaml # Atmos configuration
├── components/terraform/myapp/ # Simple mock component
└── stacks/
├── catalog/base.yaml # Local base configuration
└── deploy/demo.yaml # Stack with remote imports
cd examples/remote-stack-imports
# View the stack configuration (includes remote imports)
atmos describe stacks
# Describe the component
atmos describe component myapp -s demoimport:
- https://raw.githubusercontent.com/cloudposse/atmos/main/tests/fixtures/remote-imports/shared.yamlimport:
# HTTPS with specific ref
- git::https://github.com/acme/infrastructure.git//stacks/catalog/vpc?ref=v1.2.0
# GitHub shorthand
- github.com/acme/infrastructure//stacks/catalog/rds?ref=mainimport:
- s3::https://s3.amazonaws.com/my-bucket/stacks/catalog/vpc.yaml- Pin Versions - Always use
?ref=with a specific tag or commit SHA for Git imports - Cache Considerations - Remote imports are cached locally
- Authentication - Configure credentials for private repositories via environment variables
- Fallback to Local - Consider vendoring critical imports for offline access