Skip to content

Scope Cilium to K3s interface; fix cert-manager/sops-operator bootstrap race - #250

Open
kid wants to merge 1 commit into
mainfrom
k3s-node-ip-pin
Open

Scope Cilium to K3s interface; fix cert-manager/sops-operator bootstrap race#250
kid wants to merge 1 commit into
mainfrom
k3s-node-ip-pin

Conversation

@kid

@kid kid commented Aug 20, 2026

Copy link
Copy Markdown
Owner

Summary

  • Scope Cilium's host firewall / BPF masquerading to the K3s VLAN interface only, relying on NixOS's own firewall for the rest of node1 (supersedes the earlier by-IP SSH restriction from Fix node1 SSH lockout and pin k3s node-ip to K3s VLAN #247, which is reverted here after it broke access).
  • Fix a first-boot bootstrap race: letsencrypt-prod's ClusterIssuer was applied before sops-operator's controller existed to reconcile its cloudflare-dns-api-token SopsSecret CR into a real Secret. Bootstrap now runs CoreDNS, then sops-operator, then cert-manager, in that order — sops-operator's controller is running and watching before cert-manager's wave applies the SopsSecret CR.

Test plan

  • nix flake check --print-build-logs passes (formatting, manifests drift check, flake evaluation)
  • Confirm on next node1 reinstall (nixos-anywhere-install) that letsencrypt-prod reconciles cleanly with no manual intervention

🤖 Generated with Claude Code

letsencrypt-prod's ClusterIssuer failed because its
cloudflare-dns-api-token Secret didn't exist yet: cert-manager's
bootstrap wave applied the SopsSecret CR and the ClusterIssuer before
sops-operator's controller (which reconciles that CR into a Secret)
was even running — it wasn't started until ArgoCD's own sync, well
after cert-manager's wave completed.

Move sops-operator into its own bootstrap wave ahead of cert-manager,
and move CoreDNS ahead of both, since sops-operator, cert-manager, and
external-dns all depend on cluster DNS to resolve external hosts.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.

1 participant