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

39 lines
1.6 KiB
YAML

# 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
# namespace, so the stage children (spawned by `pp-smoke-run` via
# `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:
# pp-smoke-run runs on the host (orchestrator) and each
# `pp-gpu-node` runs in its own container under `--network host`. The
# 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:
image: ${PP_DIAG_IMAGE:-swactor-pp-gpu:latest}
container_name: ${PP_DIAG_COLLECTOR_NAME:-pp-diag-collector}
network_mode: host
# Override the image's default entrypoint (pp_entrypoint.sh, which runs
# pp-gpu-node) so this container runs the collector instead. The
# diagnostics binaries ship in the same unified code image.
entrypoint: /usr/local/bin/swactor-diag-collector
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"