Now that the netbird-ingress DaemonSet, the netbird reverse-proxy, and Traefik carry all ingress, the old tiers they replaced — stopped (not deleted) since the 2026-05-09 PVE cutover — are dead code. This removes them.
Supersession map
New (live)
Removed (was stopped)
netbird-ingress DaemonSet
netbird-gateway LXC 260 + role + play
netbird reverse-proxy (VPS)
cloudflared LXC 117 + role + play + disabled cloudflare tofu stubs
Traefik
Caddy HA LXCs 232/233/234 + caddy-ha role + crowdsec-caddy play + build/deploy-caddy CI + ci-caddy-builder image
Also cleaned
opentofu/backup_jobs.tf: dropped VMIDs 117/232/233/234/260 from the nightly vzdump include list (those LXCs are being destroyed).
netbird-server role: setup-key hint now points at netbird-ingress / netbird-proxy instead of the removed netbird-gateway role.
Kept deliberately
crowdsec role — generic and reusable; it's the basis for the still-open Traefik CrowdSec-bouncer work, so it is not dead code.
netbird-client role + play — the live loki (226) and prometheus (227) LXCs are tagged netbird_client, so this remains part of the active mesh architecture.
⚠️ Reviewer note — this plans a DESTROY
Applying the OpenTofu change will schedule a destroy of the stopped LXCs 117, 232, 233, 234, 260. They're powered off but still exist on disk in PVE, so this is irreversible. Review the tofu plan and confirm those are the only destroys before apply.
Out of scope
The CrowdSec LAPI currently enforces nothing (Traefik bouncer plugin never installed). That's a gap to close, not dead code to delete — left for a separate change.
## Simplify ingress: remove superseded legacy tiers
Now that the **netbird-ingress DaemonSet**, the **netbird reverse-proxy**, and **Traefik** carry all ingress, the old tiers they replaced — stopped (not deleted) since the 2026-05-09 PVE cutover — are dead code. This removes them.
### Supersession map
| New (live) | Removed (was stopped) |
|---|---|
| `netbird-ingress` DaemonSet | `netbird-gateway` LXC 260 + role + play |
| netbird reverse-proxy (VPS) | `cloudflared` LXC 117 + role + play + disabled cloudflare tofu stubs |
| Traefik | Caddy HA LXCs 232/233/234 + `caddy-ha` role + crowdsec-caddy play + build/deploy-caddy CI + ci-caddy-builder image |
### Also cleaned
- `opentofu/backup_jobs.tf`: dropped VMIDs **117/232/233/234/260** from the nightly vzdump include list (those LXCs are being destroyed).
- `netbird-server` role: setup-key hint now points at `netbird-ingress` / `netbird-proxy` instead of the removed `netbird-gateway` role.
### Kept deliberately
- **`crowdsec` role** — generic and reusable; it's the basis for the still-open Traefik CrowdSec-bouncer work, so it is *not* dead code.
- **`netbird-client` role + play** — the live `loki` (226) and `prometheus` (227) LXCs are tagged `netbird_client`, so this remains part of the active mesh architecture.
### ⚠️ Reviewer note — this plans a DESTROY
Applying the OpenTofu change will schedule a **destroy** of the stopped LXCs **117, 232, 233, 234, 260**. They're powered off but still exist on disk in PVE, so this is irreversible. **Review the `tofu plan` and confirm those are the only destroys before apply.**
### Out of scope
The CrowdSec LAPI currently enforces nothing (Traefik bouncer plugin never installed). That's a gap to close, not dead code to delete — left for a separate change.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Simplify ingress: remove superseded legacy tiers
Now that the netbird-ingress DaemonSet, the netbird reverse-proxy, and Traefik carry all ingress, the old tiers they replaced — stopped (not deleted) since the 2026-05-09 PVE cutover — are dead code. This removes them.
Supersession map
netbird-ingressDaemonSetnetbird-gatewayLXC 260 + role + playcloudflaredLXC 117 + role + play + disabled cloudflare tofu stubscaddy-harole + crowdsec-caddy play + build/deploy-caddy CI + ci-caddy-builder imageAlso cleaned
opentofu/backup_jobs.tf: dropped VMIDs 117/232/233/234/260 from the nightly vzdump include list (those LXCs are being destroyed).netbird-serverrole: setup-key hint now points atnetbird-ingress/netbird-proxyinstead of the removednetbird-gatewayrole.Kept deliberately
crowdsecrole — generic and reusable; it's the basis for the still-open Traefik CrowdSec-bouncer work, so it is not dead code.netbird-clientrole + play — the liveloki(226) andprometheus(227) LXCs are taggednetbird_client, so this remains part of the active mesh architecture.⚠️ Reviewer note — this plans a DESTROY
Applying the OpenTofu change will schedule a destroy of the stopped LXCs 117, 232, 233, 234, 260. They're powered off but still exist on disk in PVE, so this is irreversible. Review the
tofu planand confirm those are the only destroys before apply.Out of scope
The CrowdSec LAPI currently enforces nothing (Traefik bouncer plugin never installed). That's a gap to close, not dead code to delete — left for a separate change.
🤖 Generated with Claude Code
34d824aca4to1fb7bfacc6