Carry the host user's credential files in nexusIdentity #18
No reviewers
Labels
No labels
blocked
bug
decision
duplicate
enhancement
handoff
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/secrets!18
Loading…
Reference in a new issue
No description provided.
Delete branch "agent/site-identity-fields"
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?
The hypervisor identity gains two optional fields,
userForgejoTokenFileandsiteHostingConfigFile, so a deployment can name the age files holding the human account's forge token and the site hosting rclone config, and the framework can place them instead of each deployment writing its own module. In this template both arenull, so nothing changes for any running machine: no new secret, no new file on disk, no new recipient.nix evalshows both fields asnulland the three flake checks pass unchanged. If this is wrong, revert the four added lines inflake.nix; nothing in this repo reads the fields. The consumer that will read them (allod/archetypes#74) reads withor null, so this can merge first and either order evaluates.Closes allod/secrets#17. Refs allod/strategy#51.
What changed
flake.nix:nexusIdentitycarriesuserForgejoTokenFile = nullandsiteHostingConfigFile = nullbesideforgeTokenFile = null, with a comment giving the path spelling a deployment uses.README.md: thelib.nexusIdentityrow names the fields; the consumer section documents the shape as a table (what each file decrypts to, recipients, placement path and mode), why the rclone stanza is stored whole, why recipients are the host keys alone, and thecredentials.nixentry plussecrets.nixrecipient line every non-null file needs; the layout section notes the two placement paths.credentials.nixentry, orsecrets.nixline is added: with both fields null there is nothing to carry.One deliberate departure from the issue text. The issue spells a deployment's value as
"${self}/secrets/<name>.age", a string that interpolates the whole repository into the closure. The dev-VM token fields the issue says to copy are written./secrets + "/<name>.age", a Nix path, and the framework's path-form assertion for dev machines refuses strings. The README and the flake comment document the path form; the archetypes consumer enforces it.Risk
R0. Two null-valued attrset fields and README prose. No consumer reads the fields yet.
Validation
nix eval --json .#lib.nexusIdentityshows"userForgejoTokenFile":nulland"siteHostingConfigFile":null.nix flake check:credential-inventory,external-ssh-trust-targets,pi-credential-registryall pass, re-run after the last commit.git diff master --stat:README.mdandflake.nixonly.Labels are unavailable to this token; none is warranted.