Skip to content

Migrate kubebuilder v4#2074

Open
Zerpet wants to merge 10 commits intomainfrom
migrate-kubebuilder-v4
Open

Migrate kubebuilder v4#2074
Zerpet wants to merge 10 commits intomainfrom
migrate-kubebuilder-v4

Conversation

@Zerpet
Copy link
Member

@Zerpet Zerpet commented Mar 18, 2026

Note to reviewers: remember to look at the commits in this PR and consider if they can be squashed

Summary Of Changes

  • Migrated to Kubebuilder V4
  • Added support to configure the Service type in system tests
  • Moved tools from go.mod to Makefile
  • Abandoned DockerHub image

Additional Context

Migrating to Kubebuilder V4 is a long over-due chore. We were unable to use the kubebuilder cli at all. We were in a position where we couldn't add new types, nor new webhooks. Any new features from kubebuilder were very complicated to adopt. This PR unblocks the repo to use kubebuilder CLI again.

Adding support for different Service types in system tests allows to run system tests in environments (like my local Rancher Desktop) where NodePort (the default) doesn't route properly. In my setup, LoadBalancer routes correctly to the Pods.

Moving tools to Makefile is motivated to reduce the number of dependencies in go.mod. Tool dependencies in go.mod pollute the actual dependencies of our operator, and triggers false positives in CVE scanners.

For reasons outside of our control, we won't be producing images to DockerHub anymore. Our "dockerhub" manifest will use the image from GHCR instead. The new image does not require authentication, so we expect no disruption to users upgrading to the next version.

Local Testing

  • Unit and integration tests passing
  • System tests passing locally in k3s
  • Upgrade test

Zerpet added 6 commits March 18, 2026 13:05
As part of major refactor to Kubebuilder v4
Because we are abandoning DockerHub, for reasons outside of our control.
GHCR allows to pull without authentication, since our repo is public.
@Zerpet Zerpet added this to the v2.20.0 milestone Mar 18, 2026
@Zerpet Zerpet self-assigned this Mar 18, 2026
It went unnoticed during code porting. Our license remains MPL 2.0

[skip ci]
@github-advanced-security
Copy link

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@Zerpet Zerpet force-pushed the migrate-kubebuilder-v4 branch from 54ea246 to 21ee19a Compare March 19, 2026 10:47
CodeQL has a warning about not analysing Go files. Trying
manual build mode. Kubectl plugin got renamed during the code port.
@Zerpet Zerpet force-pushed the migrate-kubebuilder-v4 branch from 21ee19a to da1ddf5 Compare March 19, 2026 11:08
Zerpet added 2 commits March 19, 2026 12:16
AI removed the v2 suffix in the import path during code porting.
@Zerpet Zerpet force-pushed the migrate-kubebuilder-v4 branch from bbb45dc to 4e1b2a4 Compare March 19, 2026 12:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant