hypervisor-recipient-coverage skips a guest whose host-key secret has no rule, and its host-key half has no negative fixture #39
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#39
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
hypervisor-recipient-coveragecheck does not cover a guest whose host-key secret has no rule insecrets.nix, and its host-key half has no negative fixture.Found by a cold review of the landed range
e0ed37f..masterafter allod/archetypes#89's secrets half merged. Evidence, verified against the source:checks/hypervisor-recipient-coverage.nix:47-57:hostKeyGapsreports a gap only whensecretsRules ? "secrets/vm-host-keys/<guest>-ssh.age". A guest that stays inmachine-host-keys.jsonwith its ciphertext on disk, but whose rule is removed fromsecrets.nix, falls through to[]. The reviewer removed the template'sprivacy-1-ssh.agerule and both this check andcredential-inventoryaccepted the tree.checks/hypervisor-recipient-coverage.nix:147-157: every fixture assertshostKeyGaps == []. No fixture removes the hypervisor key from a present host-key rule, so replacing thehostKeyGapscomputation with[]leaves every fixture green.The rule the check states (a guest's own host-key secret must be readable by the guest's host hypervisor) is the one a hypervisor needs to provision that guest.
Refs allod/archetypes#89
Fixed on master: a registered guest with no host-key rule is reported as a missing rule, a present rule is checked whether or not the guest is registered, and both host-key cases have fixtures shown failing.