⚠️ Breking Changes
- (helm/v1-alpha): remove
init
command from Helm plugin as it's only meaningful withedit
(#4903)
✨ New Features
- (go/v4): Add default logic to conversion webhook implementations to copy
ObjectMeta
(e.g., name, namespace, labels). Includes example usage to clarify usage patterns (#4825) - (kustomize/v2; go/v4): Automatically uncomment webhook blocks during scaffold generation to improve UX and maintainability (#4826)
- (cli): Improve help output for
kubebuilder alpha generate
command to clarify usage (#4846) - (alpha update): Introduce initial implementation of the
alpha update
command (#4871). Users can now automate the full upgrade process of their projects, only intervening to resolve conflicts. (More info) - (deploy-image/v1-alpha): Refine CRD
conditions
field documentation for improved clarity and human readability (#4894) - Upgrade usage of
cert-manager
fromv1.17.2
tov1.18.2
(#4866) (#4878)(#4905) - Upgrade
golang-ci
fromv2.1.0
tov2.1.6
(#4867)
🐛 Bug Fixes
- (helm/v1-alpha): Use consistent file and directory permissions (0644/0755) during scaffolding (#4814)
- (cli): Ensure files and directories starting with a dot (except
.git
andPROJECT
) are cleaned up correctly duringalpha generate
(#4842) - (cli): Ensure
alpha generate
runs all necessary targets (make manifests generate fmt vet lint-fix
) post-scaffolding (#4843)(#4848) - (cli): Patch
PROJECT
file in-memory to support unsupported plugins duringalpha generate
(#4844) - (go/v4): Fix grammar in e2e test comments to improve clarity (#4847)
- (go/v4): Remove unused
+kubebuilder:conversion:hub
marker from conversion webhooks (#4849) - (go/v4): Set
readOnlyRootFilesystem
in manager and curl pods to meet PSA security guidelines (#4869) - (go/v4): Fix incorrect ServiceAccount spec naming in e2e tests (#4868)
- (go/v4): Skip kind node creation during e2e tests if node already exists (#4883)
- (deploy-image/v1-alpha): Remove
patchStrategy
andprotobuf
tags fromConditions
field (#4893) - (deploy-image/v1-alpha): Remove default max size validation logic from CRD schema (#4909)
- (deploy-image/v1-alpha): Eliminate unnecessary error handling for
addFinalizer
logic (#4789) - (go/v4, deploy-image/v1-alpha): Ensure API scaffolds follow Kubernetes API conventions. This effort aligns the code to be checked with kube-api-linter in a future release. (#4907) (#4897) (#4913)
- Ensure CRD field comments do not start with capitalised letters and omit trailing periods
- Ensure
//+required
and//+optional
markers are correctly applied - Use
omitzero
forStatus
fields to avoid unnecessary use and complexities that pointers can bring
Thanks to all our contributors! 🎉
What's Changed
- 🌱 [external-plugin] fix(ci): use Make targets for CLI install and expose plugin failures by @camilamacedo86 in #4823
- 🐛 (helm/v1-alpha): standardized file and directory permissions scaffolding with 0644/0755 by @jtyr in #4814
- 📖 (docs): Upgrade controller-tools from v0.17.4 to v0.18.0 by @camilamacedo86 in #4832
- 🌱 fix: lint issue: string baseDir = "api" has 3 occurrences, make it a constant (goconst) by @camilamacedo86 in #4834
- ✨ (go/v4): Improved conversion webhook implementation by adding default logic to copy ObjectMeta (name, namespace, labels, etc.). Included example usage for clarity. by @camilamacedo86 in #4825
- 📖 doc: [metrics] - provide information about required permissions to access the metrics endpoint by @camilamacedo86 in #4831
- 🌱 Bump sigs.k8s.io/kubebuilder/v4 from 4.5.2 to 4.6.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot[bot] in #4835
- 📖 fix broken link to busybox test by @carlossg in #4840
- 📖 fix examples how to specify watched CR in Watches() by @jokuniew in #4841
- 🐛 (cli): Fixed an issue where
alpha generate
skipped files and directories beginning with a dot (e.g.,.github/
,.env
,.golangci.yaml
). These are now properly removed during cleanup, except.git
andPROJECT
, which are intentionally preserved. by @camilamacedo86 in #4842 - 🐛 fix(cli): ensure 'alpha generate' runs 'make manifests generate fmt vet lint-fix' after scaffolding by @camilamacedo86 in #4843
- 🐛 (go/v4) fix: correct grammar in e2e tests comments which clarifies its purpose by @camilamacedo86 in #4847
- 🐛 (cli)(fix): postscaffold for alpha generate should return warning (follow-up: 4843) by @camilamacedo86 in #4848
- 🌱 (ci) - Enable tests against k8s 1.33 by @camilamacedo86 in #4852
- 🌱 (ci): Temporarily comment out tests failing on Kubernetes 1.33 to unblock CI and allow for a calmer investigation and fix by @camilamacedo86 in #4856
- 🌱 Bump golang.org/x/text from 0.25.0 to 0.26.0 by @dependabot[bot] in #4858
- 🌱 Bump golang.org/x/tools from 0.33.0 to 0.34.0 by @dependabot[bot] in #4861
- ✨ Upgrade usage of cert-manager from v1.17.2 to v1.18.0 by @camilamacedo86 in #4866
- ✨ Upgrade golang-ci from v2.1.0 to v2.1.6 by @camilamacedo86 in #4867
- 🐛 (go/v4): ensure manager and curl pod use readOnlyRootFilesystem to comply with PSA rules by @camilamacedo86 in #4869
- 🐛 (go/v4): e2e tests SA spec name is not accurate to inform the SA by @camilamacedo86 in #4868
- 🌱 (e2e test context): not try remove ns when we uninstall release by @camilamacedo86 in #4870
- 📖 docs: fix code block rendering by @starbops in #4877
- ✨ Upgrade cert-manager from v0.18.0 to v0.18.1 by @camilamacedo86 in #4878
- ✨ (kustomize/v2; go/v4) feat: improve UX and maintainability by auto-uncommenting webhook blocks when possible by @camilamacedo86 in #4826
- 🐛 (cli) fix: allow 'alpha generate' to work with unsupported plugins by patching PROJECT file in-memory by @camilamacedo86 in #4844
- ✨ (cli): enhance help information for kubebuilder alpha generate command by @camilamacedo86 in #4846
- 🌱 (ci) - fix cleanup for go/v4 e2e tests by @camilamacedo86 in #4880
- 🐛 (go/v4)(fix): remove unused marker +kubebuilder:conversion:hub for conversion webhooks by @camilamacedo86 in #4849
- 🌱 (ci) fix: e2e tests by adding sleep before metrics access to handle K8s 1.33 cert delay by @camilamacedo86 in #4882
- 🐛 (deploy-image/v1alpha1): drop patchStrategy/protobuf tags from Conditions by @camilamacedo86 in #4893
- 🌱 updated sigs.k8s.io/yaml version form 1.4.0 to 1.5.0 and changed formatting in 2 tests by @manalilatkar in #4895
- 🐛 fix go/v4 e2e tests: skip kind node creation if it exist already by @camilamacedo86 in #4883
- 🌱 (ci) lint-samples: allow get all errors by once and remove config flag which is no longer valid for GolangCI 2x by @camilamacedo86 in #4896
- ✨ (deploy-image/v1alpha1) : Improve clarity and human readability of conditions field documentation in CRDs. by @camilamacedo86 in #4894
- 🐛 (deploy-image/v1-alpha): remove superfluous addFinalizer error handling by @matrus2 in #4789
- ✨ Upgrade cert-manager from 1.18.1 to 1.18.2 by @camilamacedo86 in #4905
- ✨ (alpha update) initial code for the
alpha update
command by @vitorfloriano in #4871 - 🌱 Bump golang.org/x/mod v0.25.0 -> move from indirect to required by @camilamacedo86 in #4910
- 🐛 (deploy-image/v1-alpha1): Remove default max size validation by @camilamacedo86 in #4909
- 🐛 (deploy-image/v1alpha): ensure that api scaffold are following k8s api conventions by @camilamacedo86 in #4897
- 🌱 [hack-generate docs]: Update errors comments to make easier find what operation fail by @camilamacedo86 in #4911
- 🐛 (go/v4): ensure that api scaffold are following k8s api conventions by @camilamacedo86 in #4907
- 🐛 (deploy-image/v1-alpha1) - Revert changes to make status a pointer in favor of use omitzero; keep aligned with latest review changes for go/v4 by @camilamacedo86 in #4913
- ⚠ (helm/v1-alpha): remove
init
command from Helm plugin as it's only meaningful withedit
by @bavarianbidi in #4903 - 📖 Update Cronjob Tutorials API spec descriptions to better adopt k8s API convetions by @camilamacedo86 in #4916
- 📖 Update Getting Started sample to comply with K8s API conventions by @camilamacedo86 in #4915
- 🌱 bump golang.org/x/mod from 0.25.0 to 0.26.0 by @dependabot[bot] in #4918
- 🌱 bump golang.org/x/text from 0.26.0 to 0.27.0 by @dependabot[bot] in #4919
- 📖 guide for building a bundle with kubebuilder-based projects for management by OLM and/or publication on OperatorHub.io by @rayowang in #4884
- 🌱 (chore): optimize CI time and usage of resources by @camilamacedo86 in #4921
- 🌱 Bump golang.org/x/tools from 0.34.0 to 0.35.0 by @dependabot[bot] in #4922
- 🌱 (alpha update command): add e2e test by @vitorfloriano in #4920
- 📖 (doc): Upgrade Migration and Documentation over Alpha Commands by @camilamacedo86 in #4923
New Contributors
- @jtyr made their first contribution in #4814
- @carlossg made their first contribution in #4840
- @jokuniew made their first contribution in #4841
- @starbops made their first contribution in #4877
- @matrus2 made their first contribution in #4789
- @bavarianbidi made their first contribution in #4903
- @rayowang made their first contribution in #4884
Full Changelog: v4.6.0...v4.7.0