Files
v-openrig-buildandClaude Opus 4.8 026a7eac50 feat(testbed): 51-04 Dockerfile + entrypoint with plan-§1 fences guarded
The openrig-testbed Dockerfile (docker/testbed/) as the deliverable: digest-pinned
base parameterized via ARG BASE_IMAGE (the verb refuses a tag-floating ref), tmux+git
PTY substrate, pinned in-range node, OpenRig from the LOCAL pack tarball never the npm
registry, staged stub assets, a non-root openrig user, tini PID1 entrypoint that seeds
the 51-09 self-host-id adopt path. docker build runs host-side (locus ruling); the
plan-§1 fences are pinned as an executable contract (scripts/testbed-dockerfile.test.mjs
8/8, negative-asserts the registry-install fence), RED-first.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-08-06 05:23:49 +00:00

14 lines
627 B
Bash
Executable File

#!/usr/bin/env bash
# 51-04 testbed entrypoint — runs under tini (PID1 reaping, layer 5). Keeps the container init
# tmux-server-friendly (tini reaps the tmux server's children) and seeds the per-container
# self-host identity when the operator supplies one (plan §3 — the 51-09 OPENRIG_SELF_HOST_ID
# adopt path; N containers boot as N distinct named hosts). Then execs the container command.
set -euo pipefail
if [ -n "${OPENRIG_SELF_HOST_ID:-}" ]; then
# Announce the adopted self-host id so `docker logs` shows which simulated host this is.
echo "[testbed] self-host-id=${OPENRIG_SELF_HOST_ID}" >&2
fi
exec "$@"