swactor/examples/pipeline-parallel-inference/docker-compose.diag.yml

40 lines
1.6 KiB
YAML
Raw Normal View History

2026-05-20 07:41:30 +00:00
# Diagnostics e2e stack.
#
# The collector service runs in its own container with the bundles dir
# bind-mounted from the host so the harness can read the finalized
# tarball. Both the collector and the pp processes use the host network
2026-05-30 07:51:22 +00:00
# namespace, so the stage children (spawned by `pp-orchestrator` via
2026-05-20 07:41:30 +00:00
# `docker-gpu-node.sh`) share localhost reachability with the
# collector — `SWACTOR_DIAG_COLLECTOR_URL=http://127.0.0.1:9080` works
# uniformly from every actor in the run.
#
# The host network choice mirrors the existing `docker-e2e.sh` shape:
2026-05-30 07:51:22 +00:00
# pp-orchestrator runs on the host (orchestrator) and each
# `pp-worker` runs in its own container under `--network host`. The
2026-05-20 07:41:30 +00:00
# collector container just adds one more service to that arrangement.
#
# Used by `scripts/docker-diag-e2e.sh`. Direct `docker compose up`
# without the wrapper is fine for manual collector-only operation, but
# the orchestrator-side wiring (env-var injection, bundle assertions)
# lives in the script.
services:
collector:
2026-05-29 08:55:10 +00:00
image: ${PP_DIAG_IMAGE:-swactor-pp-gpu:latest}
2026-05-20 07:41:30 +00:00
container_name: ${PP_DIAG_COLLECTOR_NAME:-pp-diag-collector}
network_mode: host
2026-05-29 08:55:10 +00:00
# Override the image's default entrypoint (pp_entrypoint.sh, which runs
2026-05-30 07:51:22 +00:00
# pp-worker) so this container runs the collector instead. The
2026-05-29 08:55:10 +00:00
# diagnostics binaries ship in the same unified code image.
entrypoint: /usr/local/bin/swactor-diag-collector
2026-05-20 07:41:30 +00:00
command:
- --bind
- 127.0.0.1:9080
- --root
- /var/lib/swactor-diag
- --udp
- 127.0.0.1:9081
volumes:
- ${PP_DIAG_BUNDLES_DIR:?PP_DIAG_BUNDLES_DIR must be set}:/var/lib/swactor-diag
restart: "no"