# Blackbox / SITL compose stack: autopilot + ArduPilot SITL + mock detections + # replay RTSP source. Drives the workspace e2e tests under tests/e2e/. # # The real SITL conformance gate (AC-5) requires images that are still being # built out in per-component tasks; today's stack is a wired skeleton so # `docker compose -f docker-compose.test.yml config` validates and downstream # tasks (AZ-641 mavlink_transport, AZ-648 mission_executor) can plug in. # # Reference: _docs/02_document/deployment/ci_cd_pipeline.md ยง5. services: autopilot: build: context: . dockerfile: Dockerfile image: azaion/autopilot:test environment: AUTOPILOT_CONFIG: /etc/azaion/autopilot/config.toml RUST_LOG: info AUTOPILOT_HEALTH_BIND: 0.0.0.0:8080 volumes: - ./config/autopilot.staging.toml:/etc/azaion/autopilot/config.toml:ro - autopilot-state-test:/var/lib/autopilot depends_on: - ardupilot-sitl - mock-detections - mock-missions - replay-rtsp ports: - "8080:8080" ardupilot-sitl: image: ardupilot/sitl:latest # Placeholder. SITL conformance test (AZ-641, AZ-648, AZ-652) wires real # mission scripts. The image is pinned in those tasks. ports: - "14550:14550/udp" mock-detections: image: nginx:alpine # Replaced by deterministic detections fixture service in AZ-661. ports: - "50051:80" mock-missions: image: nginx:alpine # Replaced by mock missions HTTPS service in AZ-644. ports: - "8443:80" replay-rtsp: image: nginx:alpine # Replaced by an `mediamtx` / `ffmpeg`-driven looper in AZ-657. ports: - "8554:80" volumes: autopilot-state-test: {}