Context
First of two killswitch layers. This one works on any CNI, installed by the sidecar itself inside the pod.
wg-quick's full-tunnel setup already fails closed for AllowedIPs changes — it installs policy routing (ip rule ... table 51820 plus suppress_prefixlength 0) so internet-bound packets cannot use the main table's default route, and WireGuard drops packets matching no peer. This issue is about the cases that routing does not cover.
The trap: an overly broad egress drop will strangle the tunnel it is protecting. WireGuard's own encrypted output must be excepted — that is what the fwmark is for.
Scope
Install in-pod rules restricting egress to the tunnel plus a narrow allow list.
Acceptance criteria
Depends on #32. See docs/ROADMAP.md § Phase 5.9.
Context
First of two killswitch layers. This one works on any CNI, installed by the sidecar itself inside the pod.
wg-quick's full-tunnel setup already fails closed forAllowedIPschanges — it installs policy routing (ip rule ... table 51820plussuppress_prefixlength 0) so internet-bound packets cannot use the main table's default route, and WireGuard drops packets matching no peer. This issue is about the cases that routing does not cover.The trap: an overly broad egress drop will strangle the tunnel it is protecting. WireGuard's own encrypted output must be excepted — that is what the fwmark is for.
Scope
Install in-pod rules restricting egress to the tunnel plus a narrow allow list.
Acceptance criteria
0.0.0.0/0but not::/0leaks v6 while looking correct)Depends on #32. See
docs/ROADMAP.md§ Phase 5.9.