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

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