| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- version: '3.8'
- services:
- # OpenBao server for KMS integration testing
- openbao:
- image: ghcr.io/openbao/openbao:latest
- ports:
- - "8200:8200"
- environment:
- - BAO_DEV_ROOT_TOKEN_ID=root-token-for-testing
- - BAO_DEV_LISTEN_ADDRESS=0.0.0.0:8200
- - BAO_LOCAL_CONFIG={"backend":{"file":{"path":"/bao/data"}},"default_lease_ttl":"168h","max_lease_ttl":"720h","ui":true,"disable_mlock":true}
- command:
- - bao
- - server
- - -dev
- - -dev-root-token-id=root-token-for-testing
- - -dev-listen-address=0.0.0.0:8200
- volumes:
- - openbao-data:/bao/data
- healthcheck:
- test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8200/v1/sys/health"]
- interval: 5s
- timeout: 3s
- retries: 5
- start_period: 10s
- # HashiCorp Vault for compatibility testing (alternative to OpenBao)
- vault:
- image: vault:latest
- ports:
- - "8201:8200"
- environment:
- - VAULT_DEV_ROOT_TOKEN_ID=root-token-for-testing
- - VAULT_DEV_LISTEN_ADDRESS=0.0.0.0:8200
- command:
- - vault
- - server
- - -dev
- - -dev-root-token-id=root-token-for-testing
- - -dev-listen-address=0.0.0.0:8200
- cap_add:
- - IPC_LOCK
- healthcheck:
- test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8200/v1/sys/health"]
- interval: 5s
- timeout: 3s
- retries: 5
- start_period: 10s
- # SeaweedFS components for end-to-end testing
- seaweedfs-master:
- image: chrislusf/seaweedfs:latest
- ports:
- - "9333:9333"
- command:
- - master
- - -ip=seaweedfs-master
- - -volumeSizeLimitMB=1024
- volumes:
- - seaweedfs-master-data:/data
- seaweedfs-volume:
- image: chrislusf/seaweedfs:latest
- ports:
- - "8080:8080"
- command:
- - volume
- - -mserver=seaweedfs-master:9333
- - -ip=seaweedfs-volume
- - -publicUrl=seaweedfs-volume:8080
- depends_on:
- - seaweedfs-master
- volumes:
- - seaweedfs-volume-data:/data
- seaweedfs-filer:
- image: chrislusf/seaweedfs:latest
- ports:
- - "8888:8888"
- - "8333:8333" # S3 API port
- command:
- - filer
- - -master=seaweedfs-master:9333
- - -ip=seaweedfs-filer
- - -s3
- - -s3.port=8333
- depends_on:
- - seaweedfs-master
- - seaweedfs-volume
- volumes:
- - ./filer.toml:/etc/seaweedfs/filer.toml
- - seaweedfs-filer-data:/data
- volumes:
- openbao-data:
- seaweedfs-master-data:
- seaweedfs-volume-data:
- seaweedfs-filer-data:
- networks:
- default:
- name: seaweedfs-kms-test
|