hermes-agent/docker
Ben 9ba349b6e9 fix(docker): dashboard slot stays 'down' when HERMES_DASHBOARD unset
PR #30136 review caught a false positive: when HERMES_DASHBOARD was
unset, the dashboard run script did `exec sleep infinity`, so
`s6-svstat /run/service/dashboard` reported the slot as 'up'.
`hermes doctor` and any other s6-svstat-based health check saw the
dashboard as supervised-running even though no dashboard process
existed.

Add cont-init.d/03-dashboard-toggle: writes a `down` marker file
into `/run/service/dashboard/` when HERMES_DASHBOARD is falsy,
removes any leftover marker when it's truthy. s6-supervise honors
`down` by not starting the service, so s6-svstat reports 'down' —
matching reality.

The run script's HERMES_DASHBOARD case-statement stays in place as
a belt-and-suspenders guard, so the two layers can never disagree.

Two new integration tests lock the behavior: slot reports down
when unset; slot reports up when set to 1.
2026-05-23 15:24:17 +10:00
..
cont-init.d fix(docker): dashboard slot stays 'down' when HERMES_DASHBOARD unset 2026-05-23 15:24:17 +10:00
s6-rc.d feat(docker)!: replace tini with s6-overlay as PID 1 2026-05-22 11:47:41 +10:00
entrypoint.sh feat(docker)!: replace tini with s6-overlay as PID 1 2026-05-22 11:47:41 +10:00
main-wrapper.sh feat(docker): remove gosu from bundled image; s6-setuidgid handles privilege drop 2026-05-22 11:47:42 +10:00
SOUL.md feat(docker): add Docker container for the agent (salvage #1841) (#3668) 2026-03-28 22:21:48 -07:00
stage2-hook.sh feat(docker): per-profile s6 supervision + container-restart reconciliation 2026-05-22 11:47:42 +10:00