Skip to content

Hyposcaler bot/s3urls#1

Closed
hyposcaler-bot wants to merge 16 commits intomainfrom
hyposcaler-bot/s3urls
Closed

Hyposcaler bot/s3urls#1
hyposcaler-bot wants to merge 16 commits intomainfrom
hyposcaler-bot/s3urls

Conversation

@hyposcaler-bot
Copy link
Owner

Testing workflows

hyposcaler-bot and others added 16 commits July 1, 2025 22:10
  Changes:
  - Add S3 URL support for topology files and startup configs
  - Add IsS3URL() helper to identify S3 URLs
  - Add ParseS3URL() to parse bucket and key from S3 URLs
  - Update CopyFileContents() to handle S3 downloads
  - Update ProcessTopoPath() to support S3 topology files
  - Update processStartupConfig() to support S3 startup configs
  - Add unit tests for S3 URL parsing and validation
  - Add documentation for S3 usage

  Implementation uses MinIO Go client (github.com/minio/minio-go/v7) which:
  - Provides AWS credential chain support (env vars, ~/.aws/credentials, IAM roles)
  - Also supports .env files for AWS credentials
  - Keeps binary size impact minimal (~+1MB vs ~+7MB with AWS SDK)
  - Works with S3 and S3-compatible storage services

  Example usage:
    # Deploy with S3 topology
    containerlab deploy -t s3://my-bucket/topologies/lab.yml

    # Reference S3 startup configs in topology
    nodes:
      router1:
        startup-config: s3://my-bucket/configs/router1.cfg
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Comments