Skip to content

feat: certMount.mode=perNode for live cert rotation#20

Merged
disentangle-network merged 1 commit intomainfrom
feat/certmount-pernode
Mar 8, 2026
Merged

feat: certMount.mode=perNode for live cert rotation#20
disentangle-network merged 1 commit intomainfrom
feat/certmount-pernode

Conversation

@disentangle-network
Copy link
Owner

Summary

  • Add certMount config section to nebula DaemonSet with two modes: shared (default, unchanged) and perNode (direct Secret mount)
  • perNode mode skips the init-container and mounts a per-release Secret directly, enabling live cert rotation via K8s Secret volume auto-updates
  • Designed for fleet overlay topology (one overlay identity per cluster)
  • Secret name derived from {secretPrefix}{fullname}, not K8s node names
  • 9 new helm-unittest tests, 193/193 total passing
  • Schema validation added for certMount

Test plan

  • helm lint clean
  • helm unittest 193/193 passing
  • Golden files unchanged (shared mode default is byte-identical)
  • CI passes
  • Deploy to OKE with perNode mode and validate cert rotation end-to-end

Closes #19

Add certMount configuration to the nebula DaemonSet supporting two
modes: "shared" (default, unchanged init-container pattern) and
"perNode" (direct Secret mount enabling live cert rotation via K8s
Secret volume auto-updates).

perNode mode is designed for fleet overlay topology where each cluster
has one overlay identity. Secret name derived from release fullname,
not K8s node names.

Closes #19
@disentangle-network disentangle-network merged commit c08d5c2 into main Mar 8, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Per-node Secret pattern for nebula cert rotation

2 participants