zerobyte/app/test/integration/infra/docker-compose.yml
2026-06-02 17:25:10 +02:00

66 lines
1.8 KiB
YAML

services:
rustfs:
image: rustfs/rustfs:latest
command: ["/data"]
environment:
RUSTFS_ADDRESS: ":9000"
RUSTFS_ACCESS_KEY: "rustfsadmin"
RUSTFS_SECRET_KEY: "rustfsadmin"
RUSTFS_CONSOLE_ENABLE: "false"
volumes:
- rustfs-data:/data
rustfs-setup:
image: minio/mc:latest
depends_on:
- rustfs
entrypoint: ["/bin/sh", "-c"]
command:
- |
until mc alias set rustfs http://rustfs:9000 rustfsadmin rustfsadmin --api S3v4 --path on; do
echo "Waiting for RustFS..."
sleep 1
done
mc mb --ignore-existing --region us-east-1 rustfs/zerobyte-integration
sftp:
build:
context: ./sftp
environment:
SFTP_USER: "zerobyte-sftp"
SFTP_PASSWORD: "zerobyte-sftp-password"
SFTP_PUBLIC_KEY_PATH: "/run/zerobyte/sftp/id_ed25519.pub"
volumes:
- ../artifacts/sftp/id_ed25519.pub:/run/zerobyte/sftp/id_ed25519.pub:ro
- sftp-data:/srv/zerobyte-integration
healthcheck:
test: ["CMD", "ssh-keyscan", "-T", "2", "localhost"]
interval: 1s
timeout: 5s
retries: 30
integration:
build:
context: ../../../..
dockerfile: app/test/integration/infra/Dockerfile
args:
BASE_IMAGE: zerobyte-integration-runtime-base:latest
depends_on:
rustfs-setup:
condition: service_completed_successfully
sftp:
condition: service_healthy
cap_add:
- SYS_ADMIN
devices:
- /dev/fuse:/dev/fuse
volumes:
- ../artifacts:/app/app/test/integration/artifacts
- ../artifacts/sftp/id_ed25519:/run/zerobyte/sftp/id_ed25519:ro
environment:
LOG_LEVEL: "error"
SFTP_PRIVATE_KEY_PATH: "/run/zerobyte/sftp/id_ed25519"
volumes:
rustfs-data:
sftp-data: