14 Commits
Author SHA1 Message Date
Philip LaineandGitHub f92fdee6f2 Fix incorrect arch build for ARM64 in multiarch images (#252)
GOARCH was used instead of the input variable when building mulitarch
images.

Fixes #237

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-13 14:02:51 +02:00
Philip LaineandGitHub 227618aabf Revert back to storing CRDs in config directory. (#249)
This changes the CRD directory and makes sure it stays up to date. The
Helm chart will update the CRDs by copying them from the config
directory.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-13 12:48:38 +02:00
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
Philip LaineandGitHub 8f8aeb562f Add minimal e2e tests to verify operator starts (#230)
This is a minimal version of #228 which just spins up a cluster and
verifies that the operator starts. Once this is merged expanding the e2e
tests will be easier. In the meantime we have some validation that the
Helm chart will run in a cluster.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-05 12:31:30 +02:00
Philip LaineandGitHub 0c542db9d7 Fix group reconcile removing peers (#226)
This changes the group reconcile to get the existing group first and
then update it in place. If not done like this peers will be removed
from the group on the next reconcile.

Fixes #221
2026-05-05 11:12:50 +02:00
Philip LaineandGitHub 59e0ee8daa Refactor Dockerfile to build Go binary outside of Docker (#218)
This change moves building the Go binary out of the Dockerfile, and also
fixes some issues in the makefile. These things will speed up build
times and avoid rebuilding when not needed. Additionally it will make
getting version data easier to use as part of the user agent.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-04 14:44:10 +02:00
Philip LaineandGitHub cae1ab796b Switch to using local golang ci lint and cleanup Makefile (#176)
Managing the Golang CI Lint version is a bit cumbersome when it is hard
coded in the Makefile. This switches to using the local version. In the
end the version specified in the GH actions flow with be the authority.
2026-04-30 10:24:16 +02:00
Philip LaineandGitHub dd054d50ec Update documentation with refactored resources (#204)
This updates the documentation and examples to use the new resources. It
also adds automatic documentation creation for the api reference.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-24 16:22:04 +02:00
Philip LaineandGitHub 6768a76c9c Add network router and resource (#189)
This change adds two new resources, NetworkRouter and NetworkResource,
which enable clusters to expose Kubernetes services to Netbird.

The NetworkRouter is responsible for creating the network, group, setup
key and routing peer all of which are unique to the isntance. Along with
the deployment of the client in the cluster.

The NetworkResource exposes a service by linking to the specific router
it wants to expose to. This makes coupling between the resource and
network easy to understand.

Routers also set a DNS zone which is used to give names to resources
based on the name and namespace of the service being exposed.

Part of #172

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-23 08:55:49 +02:00
Philip LaineandGitHub 26479a19c0 Implement new setup key resource (#178)
This change implements a new resource called SetupKey that manages the
lifecycle of setup keys and stores them in secrets.

A major change here is that we are also switching to using SSA for
resource management.

Part of #172

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-13 12:20:35 +02:00
Philip LaineandGitHub 3efacfd4c8 Update controller-gen version and switch to using go tool (#170)
This makes updating of the versions a lot easier. Also we need to update
the controller gen version to support apply configuration.
2026-04-02 11:05:16 +02:00
M. EssamandGitHub cea60745d2 Remove goreleaser and fix helm packaging (#6)
Goreleaser was causing issues when helm chart action created releases
for packaged helm chart, this PR replaces goreleaser with a much simpler
build and push model, and returns packaged helm charts to normal.
2025-03-05 09:03:04 +01:00
M Essam Hamed 0219fe8aad Fix release workflows
- Check for dirty repository in release
- Fix helm release workflow name
- Rename dist dir to manifests as dist is used by goreleaser
2025-01-30 00:33:03 +02:00
M. EssamandGitHub 64091a6439 Add initial version with help and admission controller (#1)
- It adds a helm chart that will be hosted in the Github pages URL of this repository
- an admission controller operator 
- Basic documentation for installing the operator, configuring CRDs and example pod configuration
2025-01-29 22:44:09 +01:00