The forge machine's identity and host key #42
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/secrets#42
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
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 secrets template gains the
forgemachine's identity and host key, which is what provisioning refuses to proceed without. With this,getting-started.shgenerates the forge VM's host key on a fresh install with no change to the script.Primary goals:
serviceVMs.forgeidentity — fills the group allod/secrets#41 added, sovmUsernamesresolvesforgetorootand every hypervisor script that logs in as the identity's username reaches it.forgejoinsmachine-host-keys.json, which is the listgetting-started.shiterates when it regenerates per-VM host keys, so a fresh deployment keys the forge VM automatically.secrets.nixgives the forge VM's host-key secret the same recipient shape every other guest's has, so the hypervisor can inject it at provisioning and the guest can decrypt what it carries.forge-ssh-keys.jsonstays{}andforgeAccessstaysfalse: the dev VM's forge key pair and the agent token belong to the bootstrap slice, not here.Current state and specifics
machine-host-keys.jsoncurrently holdsallod-devandprivacy-1.getting-started.shinallod/deployregenerates a key for each of its keys (for vm in $(jq -r 'keys[]' ...)), encrypts it to the hypervisor's key, and writes the public half back — so membership in that file, not a script change, is what makes a new machine's host key get generated on a fresh install.allod/secrets#41 added
identity.serviceVMs, empty, exported aslib.serviceIdentitieswithusername = "root".The four Forgejo application secrets are not secrets of this repository: in fresh-install mode nixpkgs' own unit generates them inside the VM on first boot, on the data disk.
Scope
In: the
serviceVMs.forgeidentity, themachine-host-keys.jsonentry, thesecrets.nixrecipient wiring, and whatever the repository's own checks need to stay green. Out: the dev VM's forge key pair and the agent token ciphertext, both of which the bootstrap slice lands together with theforgeAccessflip; and any change togetting-started.sh, which needs none for this.Part of allod/strategy#65
Landed on master in
539015a(identity: give forge a service identity and host key). Closing as part of allod/strategy#65 housekeeping.