Files
netbird-kubernetes-operator/examples/gateway-api-public
Philip LaineandGitHub 54b2ab8efc Use Gateway listener to reference routing peer (#150)
This just changes how a routing peer is referenced. In my head this
model makes more sense, especially as we need at least one listener
right now.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-20 10:01:06 +01:00
..

Gateway API (Public)

This example walks you through how to setup a Netbird Gateway API and expose Nginx through the Netbird proxy service.

Build image locally and load it into Kind.

make docker-build IMG=docker.io/netbirdio/kubernetes-operator:dev
kind load docker-image docker.io/netbirdio/kubernetes-operator:dev

Install the Gateway API CRDs.

kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.5.0/standard-install.yaml

Create Netbird namespace and API key secret.

kubectl create namespace netbird
kubectl -n netbird create secret generic netbird-mgmt-api-key --from-literal NB_API_KEY=${NETBIRD_API_KEY}

Install the Kubernetes Operator. Make sure to use the customized values to enable Gateway API support. This assumes you have already created a secret containing a Netbird API key.

helm upgrade --install --create-namespace -f ./examples/gateway-api-public/values.yaml -n netbird netbird-operator ./helm/kubernetes-operator

Create the gateway along with the routing peer. This will deploy Netbird clients that route traffic into the cluster.

kubectl apply -f ./examples/gateway-api-public/gateway.yaml

Deploy the test Nginx application along with a HTTPRoute. The HTTPRoute will expose the service through Netbirds public proxy.

kubectl apply -f ./examples/gateway-api-public/nginx.yaml