Refactor nebula host keys out of secrets/secrets.yaml into dedicated file #74
Labels
No labels
area:authentication
area:flake-utilities
area:performance
area:tbd
host:chaos
host:electra
host:fleet
host:lyra
host:nova
host:vega
investigation
phase:cutover
phase:deploy
phase:mcp
phase:module
phase:packaging
phase:prep
phase:validation
priority:high
priority:medium
project:attic-postgres-lyra-rollout
project:auto-update-reliability
project:auto-update-remediation
project:declarative-purity-cleanup
project:external-review
project:fleet-boundary-cleanup
project:host-facts-refactor
project:lyra-nixos-deploy
project:lyra-service-stack-migration
project:nebula-mesh-network
project:nixos-build-deployment-pipeline
project:security-hardening
project:service-stack-migration
project:vega-sillytavern-cutover
project:wiki-rebuild
repo:numtide/flake-utils
repo:numtide/nix-auth
repo:numtide/nixos-passthru-cache
repo:numtide/nix-relay
service:auto-update
service:mem0
service:nix
service:sillytavern
service:slskd
service:synthseek
No milestone
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nimmo/nixos-config#74
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?
Problem
All nebula private keys are currently stored as individual entries inside
secrets/secrets.yamlunder the["nebula"]["host-key"]path. This mixes per-host secrets with every other secret in the repo, making key rotation harder to audit and violating the principle of separating CA-issued host secrets into their own encrypted file.Goal
Move each nebula host key from
secrets/secrets.yamlinto a dedicated SOPS file (e.g.secrets/nebula-hosts.yaml), or at minimum ensure they are logically grouped and clearly separated from unrelated service secrets.Considerations
.sops.yamlgovernsecrets/nebula-ca.yaml(restricted to admin machines + YubiKeys). Any new/separate file needs matching rules.sops.secrets."nebula/${hostname}-key"→ resolved fromsecrets/secrets.yaml. If we move keys, the SOPS file path in the nebula module (../../secrets/secrets.yaml) would need updating too, or we'd introduce a new SOPS reference.just nebula-add-hostrecipe writes keys directly into secrets.yaml today. Refactoring here requires updating that Just recipe as well.Scope
secrets.yaml).sops.yamlcreation rules for the new file location if applicablemodules/networking/nebula.nix— SOPS file reference for host keysjustfiles/nebula.just—nebula-add-hostandnebula-reissueto write to the new location