chore(retire): remove the spent hello-lib tombstone, and let the directory prune #600
Loading…
Reference in a new issue
No description provided.
Delete branch "chore/retire-hello-lib-tombstone"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
sean/hello-libis gone. The Job's last run converged on its own:forgejorepository/hello-libforgejopushmirror/hello-libGET /repos/sean/hello-libsean/hello-libthe only differenceThe
git rmwould have left three new orphansEvery tombstone says "AFTER IT RUNS this file is one
git rm". This Kustomization shippedprune: false, which makes that promise false.A tombstone is a Job plus the RBAC that fences it. The Job carries
ttlSecondsAfterFinishedand removes itself. The ServiceAccount, Role and RoleBinding have no TTL. Underprune: falseagit rmstops Flux managing those three and deletes nothing — so the cure leaves behind exactly the disease it was written to treat: undeclared objects that no guard in this repository can see.The stated reason for
prune: falsedoes not holdPrune does not govern that. Prune governs what happens to an object removed from the tree. While the file is present Flux re-applies it every reconcile whatever prune says, so a Job that TTL deleted comes back either way. Removing the file is the only thing that stops the cycle — and
029c342cis the post-mortem of three tombstones that ran forever because nobody did.So
prune: true. Nothing in this directory is ever meant to outlive its run, which is what makes prune the safe setting here rather than the dangerous one. The blast radius is only what this Kustomization created.Guard
tests/hello-lib-retired.shwas a fence while the tombstone existed. It now holds the two things that outlive it:kubernetes/may name it again — comments keep the history.Four mutations confirmed red: prune turned off, the tombstone put back, the management grant restored, and the gitmirror re-listed.
pruneis checked as a value, not as the presence of the word.https://claude.ai/code/session_01TdW5FSvRJW8CtGnpd29Xp8
868582da6c0d3a023ee5