# Orchestrator Infra Bootstrap (DEVOPS-ORCH-32-001) ## Components - Postgres 16 (state/config) - Mongo 7 (job ledger history) - NATS 2.10 JetStream (queue/bus) Compose file: `ops/devops/orchestrator/docker-compose.orchestrator.yml` ## Quick start (offline-friendly) ```bash # bring up infra COMPOSE_FILE=ops/devops/orchestrator/docker-compose.orchestrator.yml docker compose up -d # smoke check and emit connection strings scripts/orchestrator/smoke.sh cat out/orchestrator-smoke/readiness.txt ``` Connection strings - Postgres: `postgres://orch:orchpass@localhost:55432/orchestrator` - Mongo: `mongodb://localhost:57017` - NATS: `nats://localhost:4222` ## Observability - Alerts: `ops/devops/orchestrator/alerts.yaml` - Grafana dashboard: `ops/devops/orchestrator/grafana/orchestrator-overview.json` - Metrics expected: `job_queue_depth`, `job_failures_total`, `lease_extensions_total`, `job_latency_seconds_bucket`. ## CI hook (suggested) Add a workflow step (or local cron) to run `scripts/orchestrator/smoke.sh` with `SKIP_UP=1` against existing infra and publish the `readiness.txt` artifact for traceability. ## Notes - Uses fixed ports for determinism; adjust via COMPOSE overrides if needed. - Data volumes: `orch_pg_data`, `orch_mongo_data` (docker volumes). - No external downloads beyond base images; pin images to specific tags above.