Ctrl K
ComunidadGuías…

docker-compose.s3-e2e.yml

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# S3 source-retention overlay for the e2e topology.
#
# Adds a MinIO bucket and enables novel-service source retention so the
# source-boundary kill/restart drill (tests/e2e/source_recovery_drill.sh) runs
# against the real retained-object replay path: acceptance commits the object
# plus a 'source'-stage job, and the claimed worker rebuilds chapters from S3
# before any provider call.
services:
  minio:
    image: novel-world-minio-e2e:local
    build:
      context: .
      dockerfile: infra/docker/Dockerfile.minio-e2e
    platform: linux/amd64
    pull_policy: build
    container_name: ${CONTAINER_PREFIX:-novel}-minio
    command: server /data --console-address :9001
    environment:
      MINIO_ROOT_USER: drill-access-key
      MINIO_ROOT_PASSWORD: drill-secret-key
    volumes:
      - minio-data:/data
    networks:
      - novel-net

  minio-init:
    image: novel-world-minio-e2e:local
    platform: linux/amd64
    pull_policy: never
    container_name: ${CONTAINER_PREFIX:-novel}-minio-init
    depends_on:
      minio:
        condition: service_started
    networks:
      - novel-net
    entrypoint: ["/bin/sh", "-c"]
    command:
      - |
        for attempt in $(seq 1 30); do
          if mc alias set drill http://minio:9000 drill-access-key drill-secret-key >/dev/null 2>&1 \
            && mc mb --ignore-existing drill/novel-world-uploads >/dev/null 2>&1; then
            exit 0
          fi
          sleep 1
        done
        exit 1

  novel-service:
    environment:
      S3_ENABLED: "true"
      S3_ENDPOINT: http://minio:9000
      S3_BUCKET: novel-world-uploads
      S3_REGION: us-east-1
      S3_FORCE_PATH_STYLE: "true"
      S3_ACCESS_KEY: drill-access-key
      S3_SECRET_KEY: drill-secret-key
    depends_on:
      minio-init:
        condition: service_completed_successfully

volumes:
  minio-data: