46 Commits
Author SHA1 Message Date
Philip LaineandGitHub 47b1f55c45 Set Go toolchain to v1.26.1 and apply modernizations (#138)
This change makes sure that we use the latest Go version when building
and applies some modernization fixes.
2026-03-12 21:40:36 +01:00
Philip LaineandGitHub 0fde3631b2 Remove unused scheme passed to reconcilers (#121)
The scheme is part of the manager so we do not need to pass it in the
struct.
2026-03-12 21:39:56 +01:00
Philip LaineandGitHub 60ce12c74e Update Netbird dependency and Golang version (#112)
This change updates the Netbird dependency to the latest version to
enabled #111 to be implemented with future API additions. This change
requires updating the Go version as the upstream dependency requires it.

An interesting aspect that was required was to pin the dex dependency to
v2. It seems like the Netbird go.mod is doing something unexpected with
their version.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-03 10:31:38 +01:00
JanandGitHub cbe0e3a2a1 Add optional privileged mode to NBRoutingPeerSpec (#92)
Introduced a new optional boolean field `Privileged` in the
`NBRoutingPeerSpec` to allow deployments to specify if containers should
run in privileged mode. Updated the CRD, Helm templates, and controller
logic to support this feature.

A new function `buildSecurityContext` was added to handle the creation
of the appropriate security context based on the `Privileged` setting.
Tests were updated to cover scenarios where privileged mode is enabled,
disabled, or unspecified. This change allows more granular control over
container security settings, potentially increasing compatibility with
certain workloads that require elevated privileges.

see https://github.com/netbirdio/kubernetes-operator/issues/90

**Note:**
I am not a Go developer and have no experience with this architecture. I
may have overlooked some things.
2026-03-03 08:29:52 +01:00
Philip LaineandGitHub 8ec7c8ded8 Update Golang CI Lint to the latest version (#113)
This change updates Golang CI Lint to the latest version and fixes new
linter errors that came along with the update.

These changes were split out of #112 and are required to update the Go
version.
2026-02-27 19:07:58 +01:00
VladandGitHub 5abb241ffa fix port mapping sort (#108) 2026-02-25 16:39:29 +01:00
Tomás MotaandGitHub 54403eb901 fix potential panic when acessing empty list (#88)
while fixing #87, noticed a couple lines down that if the containers
spec has more than 1 container, the code probably intends to set
Spec.Containers to a list with a single container, but is instead
setting it to an empty list. The very next lines are trying to access
the 1st element of this empty list, which will result in a panic
2025-12-29 21:56:37 +01:00
Tomás MotaandGitHub 54c3139ee2 Remove pod label overwriting (#87)
Pod labels are being set in line 242, and the`podLabels` variable
already contains the extra `"app.kubernetes.io/name": "netbird-router"`
label, so lines 244-246 are effectively just overwriting any labels that
have been set in the crd.

This is blocking us from using this crd because we need a label
disabling istio injection for the peer to work correctly.
2025-12-29 21:53:18 +01:00
M. EssamandGitHub f1b131be7d Refactor uninstallation process (#74)
Docs PR: https://github.com/netbirdio/docs/pull/457

Changes:
* Split kubernetes-operator Chart to operator only chart
(kubernetes-operator) and configuration chart (netbird-operator-config)
* Remove delete validation webhooks for non-needed resources
* Allow abandoning Groups when still linked to a resource for over a
minute after deletion
* Fix duplciate Network Resource retrying heavily
* Fix SetupKey creation duplication
* Skip deleting routing peer since deleting network automatically
deletes it anyway
2025-11-25 20:36:17 +02:00
M. EssamandGitHub 4b98bf9ff9 Add feature to add default labels to all resources (#62)
Fixes #41 
Thanks to @mhartmann-jaconi for the Helm changes in #42
2025-10-07 13:59:50 +03:00
M Essam Hamed 20b3ba60ba Add optional Volume mounting for Client containers 2025-08-10 10:25:13 +03:00
athulandM. Essam 877c894248 Add support for tolerations, nodeSelector, and resources in NBRoutingPeer deployment spec 2025-08-07 21:58:39 +03:00
M. EssamandGitHub 09249b6b62 Fix returning ctrl.Result and error preventing backoff (#50) 2025-07-10 10:52:48 +02:00
M Essam Hamed 38445c58fa Add support for policy auto-creation 2025-04-16 14:45:23 +02:00
c4d73d83b1 Feature/kubernetes api access (#17)
Co-authored-by: M Essam Hamed <github@messam.xyz>
2025-03-30 21:16:44 +02:00
219ee9a0b6 Add support for multiple policies (#16)
Change policy annotation to support comma-separated list of policies.

---------

Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
2025-03-28 13:50:09 +01:00
M. EssamandGitHub 6a33bffb65 Add unit tests to new controllers and fix minor bugs (#12) 2025-03-28 08:55:41 +01:00
M. EssamandGitHub 1b77e77dfa Fix TCP Policy deletion when policy is already deleted (#8)
Fix NBPolicy deletion when TCP policy is already deleted
2025-03-06 14:24:46 +01:00
166091b8e0 Add ingress feature to controller (#5)
Co-authored-by: Maycon Santos <mlsmaycon@gmail.com>
2025-03-06 09:57:45 +01: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. 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