Repository navigation
feat: add dedicated gRPC URL configuration for Cilium Gateway API compatibility #330
christianhuth
started this conversation in
Feature Requests
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The problem
The Netbird operator's primary use case is exposing Kubernetes services to the Netbird network via
NetworkResourceandNetworkRouter. TheNetworkRouterpods connect to the Netbird management platform via gRPC, usingNB_MANAGEMENT_URLderived from the operator'smanagementURL(if I understand this correct). SincemanagementURLis also used for REST API calls (/api/*), a single URL must serve both traffic types.This creates a hard conflict when the self-hosted management platform runs on Cilium with Gateway API — which is increasingly common given Cilium's position as the most widely deployed CNI in production Kubernetes. Cilium requires that a
GRPCRouteand anHTTPRoutebe attached to separate Gateway listener sections. When they share a listener, Cilium's translator generates a broken filter chain that blocks external gRPC connections (see KitStream/helms#106 for full technical details and the self-hosted chart workaround).The correct Cilium setup therefore exposes gRPC on a dedicated hostname (e.g.
netbird-grpc.example.com) and REST on the original hostname (e.g.netbird.example.com). Because the operator cannot be configured with separate URLs, theNetworkRoutercontinues to connect to the original shared hostname — forcing a messy dual-listener workaround on the management side just to accommodate this limitation.The suggested fix
Add an optional
managementGrpcURLfield to the operator. When set, gRPC connections (used byNetworkRouter) use this URL; REST API calls continue to usemanagementURL. When unset, current behaviour is preserved.This allows a clean Cilium-compatible deployment where the dedicated gRPC listener serves only
GRPCRoutetraffic, with no workarounds required on the management platform side.All reactions