mirror of
https://github.com/YuzuZensai/netbird-kubernetes-operator.git
synced 2026-09-13 18:59:09 +00:00
This change adds a new import resource which enables exposing Netbird resources as Kubernetes services. This remove the need to add sidecars to every pod. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Added a new `NetworkEgress` custom resource (`netbird.io/v1alpha1`) with CRD, schema validation, and status/conditions. * Extended controller functionality to create egress services and translate egress rules into import `EndpointSlice` resources; egress pods now include a kube-egress-forwarder sidecar. * **Bug Fixes** * Added missing deep-copy and declarative apply support for the new `NetworkEgress` API types. * **Documentation** * Updated README/API reference and added example manifests for `NetworkEgress` (including IP/FQDN target usage). <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Philip Laine <philip.laine@gmail.com>
33 lines
1.7 KiB
Markdown
33 lines
1.7 KiB
Markdown
# NetBird Kubernetes Operator
|
|
|
|
The NetBird Kubernetes Operator automates the provisioning of NetBird network access for services running in your cluster. It extends the Kubernetes API with CRDs, letting you manage NetBird peers, routes, and groups declaratively, the same way you manage the rest of your infrastructure.
|
|
|
|
# Features
|
|
|
|
* Declarative peer management - define NetBird peers as Kubernetes resources and let the operator handle provisioning and lifecycle
|
|
* Automatic secret management - setup keys and credentials are stored and rotated as Kubernetes secrets
|
|
* Namespace-scoped or cluster-wide - deploy per-namespace for multi-tenant clusters or cluster-wide for full coverage
|
|
* Works with any NetBird deployment - compatible with NetBird Cloud and self-hosted instances
|
|
|
|
## Getting Started
|
|
|
|
For full setup instructions, see the [Getting Started](https://docs.netbird.io/manage/integrations/kubernetes) documentation.
|
|
|
|
Once your secret is configured, install the operator with Helm.
|
|
|
|
```shell
|
|
helm upgrade --install --create-namespace -n netbird netbird-operator oci://ghcr.io/netbirdio/helm-charts/netbird-operator
|
|
```
|
|
|
|
## API
|
|
|
|
| Kind | API Version |
|
|
|------|-------------|
|
|
| [SetupKey](docs/api-reference.md#setupkey) | `netbird.io/v1alpha1` |
|
|
| [Group](docs/api-reference.md#group) | `netbird.io/v1alpha1` |
|
|
| [NetworkRouter](docs/api-reference.md#networkrouter) | `netbird.io/v1alpha1` |
|
|
| [NetworkResource](docs/api-reference.md#networkresource) | `netbird.io/v1alpha1` |
|
|
| [NetworkEgress](docs/api-reference.md#networkegress) | `netbird.io/v1alpha1` |
|
|
| [SidecarProfile](docs/api-reference.md#sidecarprofile) | `netbird.io/v1alpha1` |
|
|
| [ClusterProxy](docs/api-reference.md#clusterproxy) | `netbird.io/v1alpha1` |
|