Files
netbird-kubernetes-operator/examples/gateway-api/README.md
T
Philip LaineandGitHub ae34898735 Rename Helm chart and Docker image and move to GHCR (#233)
This change does a few things, none of these are breaking.

It changes the registry from Docker Hub to GHCR, as we dont have the
same rate limiting issues with unauthenticated pulls.

It changes the release process to push the Helm chart as an OCI artifact
removing the need for GH pages.

It renames both the image and chart from kubernetes-operator to
netbird-operator. This name is cleaner and easier for people to
understand in a sea of Helm charts. Funnily enough this is not a
breaking change as the release name is used and not the chart name. So
in place upgrades just work.

Fixes #207

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-06 12:26:32 +02:00

47 lines
1.5 KiB
Markdown

# Gateway API
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.
```shell
make build-image
kind load docker-image ghcr.io/netbirdio/kubernetes-operator:dev
```
Install the Gateway API CRDs.
```shell
kubectl apply --server-side -f https://github.com/kubernetes-sigs/gateway-api/releases/download/v1.5.0/experimental-install.yaml
```
Create Netbird namespace and API key secret.
```shell
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.
```shell
helm upgrade --install --create-namespace -f ./examples/gateway-api/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.
```shell
kubectl apply -f ./examples/gateway-api/gateway.yaml
```
Deploy the test Nginx application along with a HTTPRoute. The HTTPRoute will expose the service through Netbirds public proxy.
```shell
kubectl apply -f ./examples/gateway-api/nginx.yaml
```
Expose the Kubernetes API server service as a network resource in Netbird.
```shell
kubectl apply -f ./examples/gateway-api/kubernetes.yaml
```