Commit Graph
70 Commits
Author SHA1 Message Date
Philip LaineandGitHub da90b6ae42 Add groups option to cluster proxy (#297)
This change adds an option to specify groups a cluster proxy peer is a
member of.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added optional `spec.groups` to the ClusterProxy custom resource to
associate group references by `id`, `name`, or `localRef`.
* CRD schema includes OpenAPI validation to enforce that each group
reference specifies exactly one selector.

* **Bug Fixes**
* Improved deep-copy behavior for ClusterProxy spec so group references
are copied safely and don’t share underlying slices.

* **Documentation**
* Updated API reference docs and README API table to include the new
`groups` field.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-16 10:49:57 +02:00
Philip LaineandGitHub 67e0ce4e40 Update version of api proxy (#310)
This change updates the api proxy version and configures a readiness
probe.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Improvements**
  * Enhanced cluster proxy health monitoring with readiness checks.
* Increased cluster proxy replicas to 3 for improved availability and
resilience.
  * Updated kubeapi-proxy to the latest version.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-16 10:39:59 +02:00
Philip LaineandGitHub 305bc9ca34 Force ownership on apply to resolve conflicts with manual edits (#309)
If not set the apply will error if a resource has been manually edited.
This changes all apply calls to use force ownership.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Fixed resource ownership handling across multiple controllers to
ensure proper claim and management of Kubernetes resources during
deployment and reconciliation operations.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-15 21:25:55 +02:00
Philip LaineandGitHub 5e5e37a153 Add tests to k8sutil (#296)
Adds more unit tests to sections that are easy to test.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
* Added unit tests for Kubernetes owner-reference and finalizer helper
functions to ensure correct behavior.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-15 13:57:14 +02:00
Philip LaineandGitHub 2dbfde779a Test upgrading from latest release (#295)
This ensures that we can always upgrade from the latest release. Covers
easy mistakes like changes to the Helm chart modifying label selectors.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Tests**
  * Enhanced E2E test setup with improved Helm chart integration
  * Added support for OCI registry chart downloads in test deployments
* E2E tests now support both development and production deployment
scenarios

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-15 13:57:01 +02:00
Philip LaineandGitHub 13c23d99f7 Make codecov ignore autogenerated code (#293)
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated code coverage configuration to refine coverage reporting
accuracy.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-10 14:27:20 +02:00
Philip LaineandGitHub e662fe40e2 Change release workflow to trigger on release (#283)
This will make it easier to maintainers to cut a release without having
to manually create tags in the repo.
2026-06-01 16:07:16 +02:00
Philip LaineandGitHub 9e826e2a20 Add codecov to Go unit tests (#282)
Adds code coverage to Go unit tests.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Integrated automated unit test coverage reporting with Codecov
integration
* Restructured test execution to separate unit and end-to-end tests into
distinct workflows

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 16:06:57 +02:00
Philip LaineandGitHub 5dd73dcc80 Add new resource for Kubernetes API proxy (#279)
This adds a new resource which deploys a Kubernetes API server proxy
that can be used to access the API server without tokens through
Netbird.

Part of #274 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **New Features**
* Added ClusterProxy custom resource for cluster API proxying
capabilities

* **Documentation**
  * Added ClusterProxy API reference documentation with schema details

* **Examples**
* Added example ClusterProxy configuration and RBAC setup for cluster
proxy targets

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/netbirdio/kubernetes-operator/pull/279?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-06-01 11:41:48 +02:00
Philip LaineandGitHub c5eaa832d3 Fix noisy reconcile errors (#275)
Certain errors are better ignored to instead rely on the child resource
to trigger a new reconcile.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Release Notes

* **Bug Fixes**
* Enhanced error handling in group resolution to prevent silent failures
and ensure proper error notification
* Improved system resilience by gracefully handling missing or
unavailable Kubernetes resources without triggering reconciliation
failures
* Optimized setup key processing workflow to enhance overall system
robustness and reliability

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/netbirdio/kubernetes-operator/pull/275?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-29 09:58:14 +02:00
Philip LaineandGitHub 0c0a3b7796 Generate release notes from PR labels (#265)
This change enables automatic release notes from labels. It also
enforces a changelog label for all PRs.

Categorizing changes will make it easier for users to understand what
changed in each release.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

## Chores
* Implemented automated changelog categorization and pull request label
enforcement to organize release notes into semantic sections (Added,
Changed, Fixed, Deprecated, Removed, Security, Dependencies) for
improved clarity in future releases.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/netbirdio/kubernetes-operator/pull/265?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-18 15:19:21 +02:00
Philip LaineandGitHub 5577526d1a Update to Go 1.26.3 (#261)
This change bumps the toolchain version and also enables dependabot
updates for e2e tests.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Updated Go toolchain to a newer version for improved stability and
performance
* Enhanced automated dependency management configuration for development
and testing environments

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/netbirdio/kubernetes-operator/pull/261?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
2026-05-18 12:29:17 +02:00
Philip LaineandGitHub 0ffcaca94b Make network router read only file system by default (#213)
This changes the router and sidecar to run with read only file system by
default. This is good practice in Kubernetes and often required in most
clusters.

Fixes #144
Fixes #114

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Chores**
* Enhanced DNS configuration handling in containerized deployments with
stricter filesystem access controls and improved security measures.

<!-- review_stack_entry_start -->

[![Review Change
Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/netbirdio/kubernetes-operator/pull/213?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-18 11:21:35 +02:00
Philip LaineandGitHub 0b7c67f22e Verify management url correct format (#254)
Makes sure that we can parse the management url if configured by user.

Fixes #78

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-14 15:27:42 +02:00
Philip LaineandGitHub 0bd774dc62 Fix missing Kustomization for CRDs (#253)
This fixes so things like make run works again.
2026-05-13 15:36:27 +02:00
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 c56f8de162 Fix sidecar injection when pod annotations is nil. (#250)
When a pod does not have any annotations the injector will fail. This
change adds a test for the case and also fixes the issue.

Fixes #246

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-13 12:54:52 +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 11ecc80d58 Add issue template (#251)
This makes sure that bugs will be reported as issues while feature
requests and other questions will be created as discussions.
2026-05-13 12:47:14 +02:00
Philip LaineandGitHub 360ef52aa3 Add build version to NetBird client user agent. (#248)
This also fix the runtime import aliases to avoid conflicts with stdlib
runtime.
2026-05-13 12:43:46 +02:00
Philip LaineandGitHub 0ef20e5dc3 Move docs to NetBird documentation website. (#247)
We should not keep duplicate documentation so this change updates the
README and removes the docs from the repository.
2026-05-13 12:43:27 +02:00
Philip LaineandGitHub 25964a8eea Add missing pdb rbac permissions (#235)
RBAC was missed because we dont have full covering e2e tests yet. Yet
another reason to give prio to it.

Fixes #234
2026-05-06 14:01:55 +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 ea9f1cb081 Modernize for Go 1.26 (#232)
This change replaces all uses of pointer utils with the new `new`
function which does the same job.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-05 13:53:44 +02:00
Philip LaineandGitHub 69afe3aade Fix SPDX license header (#231)
This change adds SPDX license headers to all files and eforces it with
the linter.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-05 12:59:36 +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 af7c408386 Add check for go mod being dirty (#229) 2026-05-05 12:31:20 +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 f8a383f533 Pin the default client image with digest (#227)
This changes the default client image from latest to a pinned digest. It
also enforces that the default image version tag matches the version of
the Netbird dependency.

This makes testing a lot easier and also ensures that we wont get
untested behavior introduced if the client makes a breaking change.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-05-05 11:12:37 +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 74012deb27 Enforce import ordering and aliases (#216)
This change ensures import ordering and aliases is standardized.
Something that is extra important when working with Kuberentes apis that
have "standard" import aliases.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-30 13:39:11 +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 37d48b5ca8 Set best practice defaults for network router deployment (#214)
This change sets some Kubernetes best practices as defaults. Such as
topology spread and pod disruption budget.

It also exposes log level and image settings in the root struct to make
it easier to override commonly configured settings.

Fixes #77 
Fixes #162

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-28 15:18:15 +02:00
Philip LaineandGitHub a90227ab33 Remove old e2e tests workflow (#211)
The e2e tests that existed before are flaky and test the old resources.
This change removes them until we have implemented new e2e tests for the
new resources.

Part of #209
2026-04-28 11:14:26 +02:00
Philip LaineandGitHub 1d2bceae15 Fix Helm repo link (#205)
Fixes the Helm repo link to use the one from the "helms" repo.
2026-04-24 16:47:48 +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 fe715ae40c Set default API secret reference and remove plain text option (#203)
The majority of users are using the operator with an API key, so the
default should be to look for the secret. This change also removes the
option to set the api key in plain text as that is just bad practice.
Also bumps the chart version to prepare for a minor release.
2026-04-24 16:14:34 +02:00
Philip LaineandGitHub 91036022c0 Add path component to finalizer (#202)
The Kubernetes client warns about not having a path component in the
finalizer. This change adds a unqiue path component for each reconciler
kind.
2026-04-23 19:18:06 +02:00
Philip LaineandGitHub 9838f0dccc Add sidecar profile (#192)
This change adds a new SidecarProfile resource which allows configuring
client sidecar injection into pods. It replaces the older annotation
based solution. This removes any pod specific configuration from the
setup key and puts it all in this side car configuration.

Fixes #188

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-23 19:17:53 +02:00
Philip LaineandGitHub 876a0e1eb3 Update Gateway API to use new resources (#201)
We dont want to promote the use of the "old" resources with NB prefix so
the Gateway API integration should only support the new ones.

---------

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-23 16:11:15 +02:00
Philip LaineandGitHub 99ef70603f Allow references to groups by name (#195)
Group names are unique so we can safely use the name as a reference
method to groups. This makes assigning resources created in the cluster
to groups that already exist a lot easier.
2026-04-23 13:12:09 +02:00
Philip LaineandGitHub d082a45b19 Update dependabot to run weekly (#197)
This change updates the dependabot interval to run weekly. It also
groups all Github Actions update into a single PR. This will make
dependency updates a bit easier to manage without spamming too many PRs.
2026-04-23 12:00:10 +02:00
Philip LaineandGitHub 1daeb670ba Make network resource names unique (#196)
Network resource names are unique per Netbird account. This change moves
the existing name to the description and uses the UID for the name of
the resource instead.
2026-04-23 11:59:07 +02:00
Philip LaineandGitHub 7bc9c87de7 Remove the creation and use of the Kubectl image to apply configuration (#198)
Using kubectl to manage configuration is not a sustainable solution and
not something that we want to promote users to do. This removes the
creation of the image and use of the image in the Helm charts.
2026-04-23 11:58:09 +02:00
Philip LaineandGitHub 20a3ddd4ed Add validation of setup key duration (#199)
This adds more validation to the setup key duration to make sure the
unit and format is correct.
2026-04-23 11:47:17 +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 af11e31b28 Add ready conditon and cleanup finalizer and status patching (#186)
This change adds a ready condition. It also sets a standard for status
fields and documentation. It makes use of helper functions from FluxCD
to better manage patching of finalizers and status.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-21 15:42:11 +02:00
Philip LaineandGitHub 1bcd58a7cd Implement mock for Netbird API and client (#184)
This makes testing of the operator a lot simpler by enabling a quick way
to implement the crud endpoints for all the resources used.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-15 10:25:45 +02:00
Philip LaineandGitHub 9c4ca73712 Implement group resource (#181)
This change implements a new group resource. 

It also sets the standard for a resource reference will be done through
out the controller. A resource reference can either be done by ID or as
a local named reference to the actual resource. This allows end users to
chose if they want to manage things completely in the cluster or not.

Part of #172

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-04-15 10:16:10 +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
Philip LaineandGitHub f1c382e6f2 Revert "Cleanup routing peer deployment creation" (#159)
Reverts netbirdio/kubernetes-operator#155
2026-03-23 17:56:43 +01:00
Philip LaineandGitHub a20570b692 Cleanup resource delete reconcile (#158)
This fixes resource delete to always run even when there are no
finalizers.
2026-03-23 15:52:14 +01:00
Philip LaineandGitHub 3a36cb6961 Cleanup routing peer deployment creation (#155)
This refactors the deployment creation for the routing peer to use the
create or update method. Keeping this a lot cleaner. It also changes to
set controller reference using the util method.
2026-03-23 11:44:09 +01:00
Philip LaineandGitHub 8adc8855e5 Add support for private gateway (#154)
This change adds support for TCPRoutes when using a private gateway
class. This is similar to annotating services today. It also moves the
gateway classes to the Helm chart as it makes things a lot simpler for
the end user as they no longer have to define them.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-23 09:59:48 +01:00
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
Philip LaineandGitHub 39ab189fae Share NBResource between different routes (#149)
This changes the behavior of the Netbird resource so that they can be
shared between routes rather than having one unique created per route.
This is important as we may want to have different route types pointing
to the same service.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-19 18:28:35 +01:00
Philip LaineandGitHub e83dc472e2 Remove webhook for setup key resource (#148)
The webhook for the NBSetupKey does a mix of runtime validation and
configuration validation. The validation of secret key ref has been
switched to using CEL rules to achieve the same thing.

The other logic is just being removed as it is goes against common
practice in Kubernetes. We should not block secret deletion if a pod is
using the secret. Existing pods will keep running while new pods will
not be able to be created. This is expected behavior in other tools and
should be dealt with during reconcile.

Checking that secrets exist and other dependency problems should be done
during reconcile and then bubbled up with conditions instead.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-19 15:48:38 +01:00
Philip LaineandGitHub 7acd175882 Gateway API support (#117)
This change adds support for the new proxy service to the operator
through Gateway API. This change attempts to standardize concepts around
the Gateway API to allow for compatibility with other projects.

Fixes #111
Fixes #44

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-19 13:01:58 +01:00
Philip LaineandGitHub ccf819d2ff Make runtime namespace configurable (#145)
Making the runtime namespace configurable makes it possible to run
locally outside of the cluster. This is useful for quick development
testing.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-18 12:00:31 +01:00
Philip LaineandGitHub 8267cc406a Remove option to disable http2 for metrics server (#143)
HTTP2 was disabled to mitigate security risks from CVE-2023-44487 and
CVE-2023-39325 which have long since been fixed in Go. Removing the
option that was false by default enables http2 and also reduces some
confusion about why it is an option in the first place.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-18 09:56:43 +01:00
Philip LaineandGitHub 9313fef43d Share Netbird client between all reconcilers (#122)
This changes the reconcilers to take a netbird client rather than
creating their own on setup.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-16 11:23:26 +01:00
Philip LaineandGitHub 9a422a4d17 Add checks for manifest and code generation (#140)
Manifest generation has drifted from what is committed to the repo. This
change adds checks for both manifests and code generation to make sure
it is up to date in every PR.
2026-03-12 21:40:51 +01:00
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 6694b91a2a Cleanup workflows and pin action versions (#118)
This change does some cleanup of the actions workflows to makes them
faster to run and easier to debug. It pins all of the actions workflows
to specific commit hashes. Dependabot will be enabled in a separate PR
to manage updates.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-11 11:24:17 +01:00
Philip LaineandGitHub c94d6197b8 Enable dependabot for both GH actions and Go (#119)
With the changes done in #118 we want to enable automatic workflow
version updates.
2026-03-10 21:32:51 +01:00
Philip LaineandGitHub ade9a53045 Fix flaky e2e tests (#120)
This change fixes flaky e2e tests with two changes. The first is that
the manager container is checked for ready condition rather than
running. The second is that the webhook server has been registered as
part of the health check to verify it is running before reporting ready
state.

Signed-off-by: Philip Laine <philip.laine@gmail.com>
2026-03-10 21:31:54 +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
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