Operator tunnel — any ingress, any network
Operator-to-platform traffic moves to a Connect-tunnel. Works behind NAT, egress-only firewalls, and private clusters without inbound access.
The AppBahn operator now talks to the control plane over a Connect-tunnel instead of websockets. The practical upshot: your cluster can live behind NAT, a strict egress-only firewall, or an air-gapped network with a single outbound hole — and the platform still sees it.
What shipped
- Connect-tunnel server on the platform, client on the operator.
- Tunnel JWT minting + rotation at the operator side.
- Heartbeat + cluster-registration lifecycle across reconnects.
- CRD for cluster approval on the platform side.
Why this matters
Self-hosted customers rarely expose their Kubernetes API server to the internet. The previous transport assumed inbound reachability; this one does not. If you run on a private cluster, the operator now reaches out instead of being reached in.
Upgrade
helm upgrade appbahn appbahn/appbahn from any prior build. No config changes
required. The operator negotiates the tunnel on first contact with the new
platform build.