forge-sync: the forge-key recipient cross-check compares key comments, so a template host always fails it #90
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
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
allod/nexus#90
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?
forge-sync forgeon a hypervisor built from the public template creates both accounts and then refuses to write the dev VM's forge key, on every run.Evidence, laptop, clean install with every earlier fix pinned through, 2026-10-09:
Cause, read from the scripts:
ensure_vm_forge_keybuilds its recipient list fromcat ~/.ssh/host.pub, whose comment isnexus-host(getting-started.shgenerates it withssh-keygen -C "${HYPERVISOR}-host"), and compares it line for line with whatsecrets.nixderives, where the host key is identity'shostPublicKey, written by the same script with the commentnexus. Same key, different comment, so the sorted lists differ. The other two recipient checks in the command (assert_host_recipient,verify_token_recipients_include) already compare by key material; this one does not. The stub suite's fixture spells the host key identically on both sides, which is why it passed.Workaround:
sed -i 's/ nexus-host$/ nexus/' ~/.ssh/host.pub, then rerun; the comment is not part of the key.Landed on allod/nexus master
cfc30f6: the forge-key recipient cross-check compares key material, not whole lines;bbcbb2fand59bf75cbeside it print the forge URL and drop the closing block's push lines. Pinned through the deploy template.