S3 Support in Containerlab#
Containerlab supports using S3 URLs to retrieve topology files and startup configurations for network devices.
Prerequisites#
AWS credentials are automatically discovered using the standard AWS credential chain (in order of precedence):
- Environment variables (
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
) - Shared credentials file (
~/.aws/credentials
) - IAM roles (EC2 instance profiles)
Usage Examples#
Topology Files from S3#
Deploy a lab using a topology file stored in S3:
Startup Configurations from S3#
In your topology file, you can reference startup configurations stored in S3:
name: my-lab
topology:
nodes:
router1:
kind: srl
image: ghcr.io/nokia/srlinux:latest
startup-config: s3://my-bucket/configs/router1.cli
router2:
kind: srl
image: ghcr.io/nokia/srlinux:latest
startup-config: s3://my-bucket/configs/router2.cli
Authentication#
Environment Variables#
export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export AWS_REGION=us-east-1 # Optional, defaults to us-east-1
AWS Credentials File#
Configure in ~/.aws/credentials
: