Split secrets.yaml into scoped per-service/host files with narrowed SOPS recipients #80
Labels
No labels
host:electra
host:fleet
host:lyra
host:vega
host:vega
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:declarative-purity-cleanup
project:external-review
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
service:auto-update
service:mem0
service:sillytavern
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config#80
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?
Context
secrets/secrets.yamlis still a single ~19 KB monolithic file holding keys for many unrelated services and hosts. A breakup is already partly underway (separateai-tools.yaml,attic.yaml,bookstack.yaml,git.yaml,mem0.yaml,nebula-ca.yaml,newt.yaml,pangolin.yaml,sabnzbd.yaml,trilium.yamlalready exist), but the remainder lives insecrets.yamland.sops.yamlstill grants every host the ability to decrypt everysecrets/*.yaml.This issue is the implementation track for #39 (split SOPS recipients and secrets by host/service scope). #39 depends on this work existing to scope against.
Scope
secrets.yamlinto per-service or per-host files (one encrypted env file per service/host or Newt instance where that keeps the inventory clearer than many scalar keys)..sops.yamlcreation_rulesso each file's recipient group is the consuming host(s) plus the admin keys:yubikey-nano5c,yubikey-5-nfc) — already present in every group; these are the everyday admin escape hatch forsops editfrom any workstation.secrets/.*\.yamlgroup only as a fallback for anything not yet migrated.Admin / manageability model
Strict host-scoping does NOT block secret management: the YubiKeys are recipients on every file, so
sops editworks from any workstation with a YubiKey present (Nano 5C is everyday, 5 NFC is backup). Hosts are consumers, not the only editors.Completion criteria
secrets.yaml(or it is emptied/deleted).nix flake checkpasses and hosts activate.Dependency
#39 depends on this issue.