Retire gjallar; record why retirement is what forces the migration
Gjallar had a brief useful life on Nightwing's framebuffer, broke, and was never fixed. Its Yggdrasil incarnation ran --headless --refresh-hz 2 for eleven days: a compositor with no display recomposing twice a second, 55 minutes of CPU and 125M resident producing frames nothing rendered. The only reference to gjallar.overview in the estate is one Odin test file. Stopped and disabled; 420M under /srv/gjallar is reclaimable. Removed the codex-connector and gjallar sudo grants from the host and synced deploy/legacy/idunn-yggdrasil.sudoers to match. Four grants gone, verified by diffing the grant set against a backup, nothing else changed. That diff caught a defect I introduced: removing the last entry of a Cmnd_Alias leaves a dangling continuation, and my repair silently dropped the wildcard from `deploy streampixels`, which would have failed every streampixels deployment. The procedure now says validate with visudo -c -f before installing and diff the grant set afterwards. The larger finding: the installed generation CANNOT express that a target is retired. Its target list is compiled in, it offers restart and redeploy and no way to drop a daemon from supervision, and its only brake is the deployment brake -- which doctrine forbids using for this, since a deployment brake must not suspend continuity. Stopping codex-connector therefore produced eighty "decision: restart" lines in ten minutes against a service we had just retired. Suspending continuity for one target is precisely the current generation's lifecycle brake. The estate found the argument for its own migration by trying to throw something away. Gjallar was handled correctly by contrast: its failure classified as dependency-unavailable, so Idunn raised an alarm instead of resurrecting it. The old generation can tell failures it owns from failures it does not; it cannot tell a broken target from a finished one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
3d9fb6eb8a
commit
f6b97fdc62
2 changed files with 64 additions and 18 deletions
|
|
@ -1,6 +1,9 @@
|
|||
# Narrow root actuator grant for the Idunn Yggdrasil deployment/continuity path.
|
||||
# One line per live target. codex-connector and gjallar were retired 2026-09-06;
|
||||
# their grants are removed here first, because the privileged half of a retired
|
||||
# target must not outlive its consumer.
|
||||
Cmnd_Alias IDUNN_YGGDRASIL_DEPLOY = \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy odin *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy codex-connector *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy ghostlight *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy voidbot *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy heimdall *, \
|
||||
|
|
@ -8,17 +11,14 @@ Cmnd_Alias IDUNN_YGGDRASIL_DEPLOY = \
|
|||
/usr/local/libexec/idunn-yggdrasil deploy epiphany *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy bifrost-persona-feedback *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy repixelizer *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy streampixels *, \
|
||||
/usr/local/libexec/idunn-yggdrasil deploy gjallar *
|
||||
/usr/local/libexec/idunn-yggdrasil deploy streampixels *
|
||||
Cmnd_Alias IDUNN_YGGDRASIL_RESTART = \
|
||||
/usr/local/libexec/idunn-yggdrasil restart odin, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart codex-connector, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart ghostlight, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart voidbot, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart heimdall, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart epiphany, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart repixelizer, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart streampixels, \
|
||||
/usr/local/libexec/idunn-yggdrasil restart gjallar
|
||||
/usr/local/libexec/idunn-yggdrasil restart streampixels
|
||||
|
||||
idunn ALL=(root) NOPASSWD: IDUNN_YGGDRASIL_DEPLOY, IDUNN_YGGDRASIL_RESTART
|
||||
|
|
|
|||
Loading…
Reference in a new issue