Kernel Mode
Container-Init (PID 1)
sysg init runs systemg as a container's PID 1 on linux-gnu and linux-musl
(Alpine is a first-class target), replacing tini/s6/supervisord combinations
with one supervisor that already owns lifecycle, logs, and diagnostics.
ENTRYPOINT ["sysg", "init", "--config", "/etc/systemg/systemg.yaml"]
sysg init requires that the process actually is PID 1 and implies system
mode. It boots the manifest, reaps adopted orphans, handles shutdown signals,
and exits with the teardown verdict.
What PID 1 changes
PID 1 inherits every orphaned process in the container and must reap them; default signal dispositions differ; shutdown means tearing down every service in reverse dependency order and exiting with a meaningful status. All wait statuses route through a centralized broker, so an adopted orphan's exit is never mistaken for a managed service's.
Diagnostics
- SG0711 — container-init unsupported on this platform (e.g. macOS)
- SG0712 — PID 1 prerequisites missing
(e.g.
/procnot mounted) - SG0713 — shutdown incomplete: services survived reverse-order teardown
- SG0714 — live supervisor upgrade refused in container-init mode
Known constraint
Live supervisor upgrade is forbidden in container-init mode: a failed exec in PID 1 kills the container and everything in it. Upgrade the image instead.