paladin-ai 0.4.3

Enterprise AI orchestration framework with multi-agent coordination patterns
Documentation
services:
  redis-test:
    image: redis:7-alpine
    container_name: paladin-redis-test
    ports:
      - "6380:6379"
    command: redis-server --appendonly no --save "" --protected-mode no
    tmpfs:
      - /data
    networks:
      - paladin-test-network
    healthcheck:
      test: [ "CMD", "redis-cli", "ping" ]
      interval: 5s
      timeout: 3s
      retries: 5

  minio-test:
    image: minio/minio:latest
    container_name: paladin-minio-test
    ports:
      - "9010:9000"
      - "9011:9001"
    environment:
      MINIO_ROOT_USER: testuser
      MINIO_ROOT_PASSWORD: testpass123
      MINIO_CONSOLE_ADDRESS: ":9001"
    command: server /data --console-address ":9001"
    tmpfs:
      - /data
    networks:
      - paladin-test-network
    healthcheck:
      test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
      interval: 5s
      timeout: 3s
      retries: 10
      start_period: 10s

  minio-test-init:
    image: minio/mc:latest
    container_name: paladin-minio-test-init
    depends_on:
      minio-test:
        condition: service_healthy
    environment:
      MINIO_ROOT_USER: testuser
      MINIO_ROOT_PASSWORD: testpass123
    entrypoint: |
      /bin/sh -c "
      echo 'Waiting for MinIO test to be ready...'
      until mc alias set minio http://minio-test:9000 \$$MINIO_ROOT_USER \$$MINIO_ROOT_PASSWORD; do
        echo 'MinIO test not ready, waiting...'
        sleep 2
      done
      echo 'MinIO test is ready. Creating test buckets...'
      mc mb minio/test-bucket --ignore-existing
      mc mb minio/integration-tests --ignore-existing
      echo 'Test bucket initialization complete'
      "
    networks:
      - paladin-test-network

  # Service for running integration tests
  integration-tests:
    build:
      context: ..
      dockerfile: docker/testserver/Dockerfile
      target: test
    container_name: paladin-integration-tests
    depends_on:
      minio-test:
        condition: service_healthy
      redis-test:
        condition: service_healthy
      minio-test-init:
        condition: service_completed_successfully
    environment:
      - RUST_LOG=debug
      - RUST_BACKTRACE=1
      - APP_REDIS_HOST=redis-test
      - APP_REDIS_PORT=6379
      - APP_MINIO_ENDPOINT=minio-test:9000
      - APP_MINIO_ACCESS_KEY=testuser
      - APP_MINIO_SECRET_KEY=testpass123
      - APP_MINIO_BUCKET=test-bucket
      - APP_MINIO_SECURE=false
    command: cargo test --features integration-tests -- --test-threads=1 --nocapture
    networks:
      - paladin-test-network

networks:
  paladin-test-network:
    driver: bridge