swactor/apps/myelin/node-image/Dockerfile.base
Zachery Aaron Shores-Chmielewski 5bbdfb041e runtime: checkpoint distributed execution and retained-node deployment
Integrate namespace and source-route lifecycle changes, contextual process cleanup, Python binding updates, and Myelin worker/orchestrator recovery. Keep the shared control contracts, deployment identity fencing, SSH bootstrap adapters, paid admission accounting, and VastAI cleanup implementation together with their consumers.

Migrate Iroh dependencies and telemetry transport/collection with dashboard and demo callsites, workspace build configuration, and actor-control-flow policy updates. This is an intermediate development checkpoint, not paid-provider qualification.

Review verification: contextual_process_guarantees (4 tests), telemetry_transport (4 tests), and shared control contracts (5 tests) passed. Historical five-node redeployment and campaign execution passed individually; complete ordered qualification remains pending.
2026-09-14 12:20:56 +03:00

34 lines
1.2 KiB
Text

# Myelin node base: CUDA runtime, SSH bootstrap, and the Myelin agent only.
# Frameworks belong to workload-specific images, not the control-plane agent image.
# Build from workspace root:
# docker build -f apps/myelin/node-image/Dockerfile.base -t myelin-node-base:cuda12.6 .
FROM nvidia/cuda:12.6.3-runtime-ubuntu24.04
RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
procps \
python3 \
python3-pip \
openssh-server && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* \
/var/cache/apt/archives/* \
/var/cache/apt/*.bin \
/var/log/apt/* \
/var/log/dpkg.log \
/tmp/* \
/var/tmp/* \
/usr/share/doc/* \
/usr/share/man/* \
/usr/share/info/* && \
mkdir -p /usr/local/share/myelin /var/cache/myelin-contexts /var/log
COPY apps/myelin/node-image/myelin_entrypoint.sh /usr/local/bin/myelin_entrypoint.sh
RUN chmod +x /usr/local/bin/myelin_entrypoint.sh
ARG DEPLOY_PUBKEY=""
RUN if [ -n "$DEPLOY_PUBKEY" ]; then printf '%s\n' "$DEPLOY_PUBKEY" > /etc/myelin_deploy_key.pub; fi
ENTRYPOINT ["/usr/local/bin/myelin_entrypoint.sh"]