swactor/examples/pipeline-parallel-inference/Dockerfile.diag
Zachery Aaron Shores-Chmielewski b23f82e9a9 feat(distribution): add diagnostics subsystem
Structured observability for the iroh/SWIM layer: Aggregator, typed Event/Snapshot
types, Sink (NoopSink default), ProbeScheduler, process stats, and host/iroh/swim
introspection, plus the swactor-diag-collector, -postproc, and -iroh-relay binaries
that assemble and render per-run bundles. Generalizes the pipeline-parallel-inference
example to N stages and adds the topology-planner spec.


Signed-off-by: Zachery Aaron Shores-Chmielewski <zacheryasc@gmail.com>
2026-05-20 11:41:30 +04:00

41 lines
1.6 KiB
Text

# Diagnostics-enabled image for the docker-compose e2e harness.
#
# Bundles four binaries:
#
# - pp-gpu-node (stage)
# - pp-smoke-run (orchestrator; for convenience / docker exec)
# - swactor-diag-collector (collector service)
# - swactor-diag-postproc (post-processor, runnable via docker exec)
#
# All four share one image so the e2e harness only builds + ships one
# tag. The build context must be the workspace root because the COPY
# paths reach into both `target/release/` (for the distribution-crate
# binaries) and `examples/pipeline-parallel-inference/target/release/`
# (for the pp binaries):
#
# docker build -f examples/pipeline-parallel-inference/Dockerfile.diag \
# -t pp-diag:latest .
#
# The host must build all four binaries first — this image only
# packages them. `scripts/docker-diag-e2e.sh` automates the full
# build + run.
FROM debian:bookworm-slim
RUN apt-get update && \
apt-get install -y --no-install-recommends \
python3 \
ca-certificates \
curl && \
rm -rf /var/lib/apt/lists/*
COPY examples/pipeline-parallel-inference/target/release/pp-gpu-node /usr/local/bin/pp-gpu-node
COPY examples/pipeline-parallel-inference/target/release/pp-smoke-run /usr/local/bin/pp-smoke-run
COPY target/release/swactor-diag-collector /usr/local/bin/swactor-diag-collector
COPY target/release/swactor-diag-postproc /usr/local/bin/swactor-diag-postproc
COPY examples/pipeline-parallel-inference/pp_tinygrad_worker.py /usr/local/share/pp_tinygrad_worker.py
ENV WORKER_SCRIPT=/usr/local/share/pp_tinygrad_worker.py
ENV PP_WORKER_STUB=1
CMD ["pp-gpu-node"]