002 — R4/R5: WireGuard peer + tunnel client for firewalled/dev sites #2
Labels
No labels
needs-triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
lab/machine-configs#2
Loading…
Add table
Add a link
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?
002 — R4/R5: WireGuard peer + tunnel client for firewalled/dev sites
Status: OPEN (unticketed — awaiting this repo's first commit + Forgejo remote)
Part of the hub architecture plan (flux-clusters / clusters#1532, decisions D2/D10). Implements
R4(WireGuard peer) andR5(tunnel client) indocs/architecture-requirements.md. Depends on the network plan (clusters#1533) for the address plan.What to do
R4 — WireGuard peer per host
Each host runs a WG peer:
PersistentKeepalive; the firewalled site dials out by requirement.rke2-token-<cluster>pattern.wireguardinterface config here: addresses, endpoint, allowed IPs, routes for pod CIDRs (ClusterMesh fabric).R5 — Tunnel client for firewalled/dev sites
For TCP-egress-only or dev/L4 access, a frp/rathole client at OS level:
Acceptance criteria
Linked
LOE estimate: 3–6 days
The heaviest ticket, and blocked on upstream decisions rather than on this repo's code.
Blocking dependencies
Because of these, this is spike-plus-implement, not plumbing — budget toward the 6-day end.
Implementation sketch (once unblocked)
modules/wireguard.nix: declare thewireguardinterface (addresses, endpoint,PersistentKeepaliveon spokes), per-host private key via sops following the existingrke2-token-<cluster>pattern inmodules/rke2.nix(rke2.nix:136), hub side on the portable host.modules/tunnel.nix: frp/rathole client — systemd unit + config, token via sops,wantedBy = multi-user.targetso it comes up before the cluster is managed (it's OS config, not a workload — matches the ticket's requirement).rke2-serverfor firewalled sites, so therke2-${role}unit'safter=chain (rke2.nix:158) may need the WG/tunnel units prepended.Risks
secrets/<cluster>.sops.yamlfiles to grow.Recommendation: don't start until #1533/#1536 are resolved; 001 and 003-R6 are the parallel work that can proceed.