You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
103 lines
2.5 KiB
103 lines
2.5 KiB
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
|