refresh-local-auth: read the renamed rotation registry export #60
No reviewers
Labels
No labels
blocked
bug
decision
duplicate
enhancement
help wanted
invalid
landed?
question
ready-to-merge
stale
wontfix
bug
duplicate
enhancement
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/nexus!60
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/rotation-registry-rename"
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?
refresh-local-authon the host reads the credential rotation registry through its new flake export,lib.rotationRegistry, instead oflib.forgejoTokenGroups. What changes for a running machine: the host script evaluates the new attribute name from the identity checkout, and the test fixture and the two docs name the registry filerotation-registry.json. What stays identical: every step after the registry is loaded, the registry's shape and validation, and all seventeen refresh-local-auth tests. What proves it: the test script and theprovisioning-contractcheck pass, and a cold review found only the intended landing-order dependency. If it is wrong the symptom isrefresh-local-authfailing to load the registry with a Nix error namingrotationRegistry, and the fix is a straight revert.Land this after allod/secrets PR 31 (allod/secrets#31), which adds the export. A deployment's private fork of allod/secrets must merge that rename before this lands on the host, because the identity checkout the script evaluates is the private one and there is deliberately no fallback to the old name.
Refs allod/secrets#22
Risk
R3. A host-side script that feeds local auth reads a cross-repo interface by a new name. Residual: the ordering dependency above; the failure is loud and precedes any change to host state.
Validation
Run by the integrator on the reviewed commit:
bash tests/refresh-local-auth.sh:17 refresh-local-auth tests passed., exit 0.nix build .#checks.x86_64-linux.provisioning-contract --no-link -L: exit 0 (bash -n, shellcheck, and every shell test suite).grep -rn -i 'forgejo-token-groups\|forgejoTokenGroups' .outside.git: no hits.Cold review:
gpt-5.6-solviacodex exec, default effort, read-only sandbox, on commitc42fc593. One finding, major: no compatibility fallback tolib.forgejoTokenGroupsfor a secrets checkout that predates the export. Discarded: the landing order recorded on allod/secrets#22 puts the secrets rename first, and a silent fallback to the old name is whatmemoryrules out (fail loud, never fall back silently). No missed consumers, no unsupported claims.