Releases: kubernetes-sigs/kubebuilder
v4.0.0
v4.0.0
changes since v3.15.1
Overview and Key Guidelines
It is a MAJOR release because all deprecated features were removed from the project. However, for those with projects scaffolded using the go/v4 plugin layout, there should mainly not be impacted by. To know the layout version of your project, check the Project Config, see the PROJECT
file (example).
(General guidance) You might be impact by:
- Bug fix to ensure consistent spacing in marker annotations (#3904). In this case, just find
//+
and replace it with// +
. - Discontinue usage of kube-rbac-proxy in the default scaffolding (#3899), the change is part of the
3.15.0
release since the change is applied only for new projects but you should be aware of and take action. For further information, see: 🚨 Action Required: Ensure that you no longer use gcr.io/kubebuilder images.
(For who are using go/v2
or go/v3
) Upgrading Layouts:
If your project is currently using go/v2
or go/v3
, you must upgrade to go/v4
to be compatible with this release and future updates. To know how to upgrade, check the migration documentation.
💡 Tips
You can add the changes manually, but unless your project is too big or deviated too much from the proposed layout the recommended process to upgrade a project usually involves re-scaffolding and then comparing the new base with your project code changes and re-adding all on top. IDEs usually can help you out in this process since you can re-scaffold all in a branch and easily compare it with your main branch published in the repository of your project to add the code back again.
- Kubebuilder provides and Upgrade Assistance for those who have been using the CLI to do all scaffolds and does not deviated from the layout proposed.
- You can follow the same process to ensure that your scaffold has all changes and bug fixes introduced from MINOR releases.
- You can also always check the project scaffolds under the
testdata
directory as a base and compare them across tag releases to check the changes made: Example: Comparetestdata/project-v4
between tagsv3.14.1
andv3.15.1
.- Avoiding unnecessary deviations from the proposed layout can help you keep your project maintained and aligned with the latest changes with a lower effort. Please, see the info.
⚠️ Breaking Changes
- Removal of ComponentConfig since it is no longer supported by controller-runtime release version 0.15.0 and was removed from v0.18.0 (#3764). (More info)
- Removal of the go/v2 which was kept only to ensure backwards compatibility from Kubebuilder release 2x to 3x and is deprecated since Apr 28, 2021. The
go/v2
plugin cannot scaffold projects in which CRDs and/or Webhooks have av1
API version. Be aware that v1beta1 API for CRDs and Webhooks was deprecated on Kubernetes1.16
and were removed in the Kubernetes1.22+
release. Go versions higher than1.13+
are not supported within. (#3763) (#3915) (More info). - Removal of the go/v3 which is deprecated since Mar 11, 2023. Be aware that
go/v3
plugin cannot scaffold projects using kustomize versionsv4x+
and cannot fully support Kubernetes1.25+
and go versions higher than1.19+
. (#3763) (#3915) (More info) - Removal of the kustomize/v1 which is deprecated since Mar 11, 2023. (#3763) (#3915) (More info)
- Removal of the Declarative Plugin. (#3922) (More info)
- (For who consume Kubebuilder as lib): Removal of deprecated APIs. The methods
NewBundle
,GetShortName
,IsLegacyLayout
are no longer available for those that consumes Kubebuilder as lib. (#3929)
✨ New Features
- Add support for go
1.22
(#3910) - Add support for Kubernetes version
1.30
. Upgrade controller-runtime fromv0.17.3
tov0.18.2
(#3912) - Upgrade kustomize from
v5.3.0
tov5.4.1
by (#3911) - Upgrade controller-tools from
v0.14.0
tov0.15.0
(#3913) - Upgrade EnvTest from
1.29.0
to1.30.0
(#3914) - Add new GolangCI linter to check the tests scaffolded with ginkgo (#3894)
- (For who consume Kubebuilder as lib): Add
sigs.k8s.io/kubebuilder/v4
module (#3924)
🐛 Bug Fixes
- Fix typo issue in the flag description (#3954)
- Fix in the makefile target
docker-buildx
to use the project name instead of fix value (#3928) - Fix in the makefile to remove invalid comment (#3816)
- Fix to ensure consistent spacing in marker annotations. Ensure that you replace all markers to add the space by
s/\//+/\// +/
. (#3904)
Thanks to all our contributors!
What's Changed (Full Changelog)
⚠️ remove component config since it is no longer supported by controller-runtime and is deprecated by @camilamacedo86 in #3764⚠️ remove kustomize/v1, go/v2 and go/v3, and configurations for Project Config v2 related to legacy Kubebuilder CLI version < 3 by @camilamacedo86 in #3763- ✨ Add support for go 1.22 by @camilamacedo86 in #3910
- ✨ Upgrade kustomize from v5.3.0 to v5.4.1 by @camilamacedo86 in #3911
- ✨ Upgrade controller-tools from v0.14.0 to v0.15.0 by @camilamacedo86 in #3913
- ✨ Upgrade envtest from 1.29.0 to 1.30.0 by @camilamacedo86 in #3914
⚠️ (Follow UP: 3763) - remove kustomize/v1, go/v2 and go/v3, and configurations for Project Config v2 related to legacy Kubebuilder CLI version < 3 by @camilamacedo86 in #3915⚠️ remove component config by @camilamacedo86 in #3916- 🌱 Began to test getting start sample in the CI by @camilamacedo86 in #3918
- 📖 Add note to clarify that kube-rbac-proxy images are no longer released by @camilamacedo86 in #3919
- ✨ Upgrade controller-runtime from v0.17.3 to v0.18.2 by @camilamacedo86 in #3912
- 🌱 Remove CRD and Webwhook versions options since they are no longer useful by @camilamacedo86 in #3920
- 🐛 makefile: remove invalid comment by @mateusoliveira43 in #3816
- 📖 extending-cli: remove ref of deprecated plugins by @camilamacedo86 in #3923
⚠️ remove declarative plugin by @camilamacedo86 in #3922- 📖 Update RELEASE.md - Make clear the build of artifacts are deprecated by @camilamacedo86 in #3926
- 📖 (plugin deploy-image and envtest): use ref of project-v4 instead of v3 in the examples by @camilamacedo86 in #3927
- 🐛 fix: makefile: target docker-buildx should use the project name instead of fix value by @camilamacedo86 in #3928
⚠️ Remove api deprecations: The methods NewBundle, GetShortName, IsLegacyLayout are no longer available by @camilamacedo86 in #3929- 📖 Update roadmap_2024.md - Latest status - 18 May by @camilamacedo86 in #3925
- 📖 doc/cleanup: remove reference of legacy plugins by @camilamacedo86 in #3930
- 📖 Update CONTRIBUTING.md - Clarify book-v3 docs publish status and blocker faced by @camilamacedo86 in #3932
- 📖 doc: small nits for the migration section by @camilamacedo86 in #3933
⚠️ Kubebuilder CLI Major Bump: Move module from v3 to v4 by @camilamacedo86 in #3924- 🌱 Bump sigs.k8s.io/kubebuilder/v3 from 3.14.2 to 3.15.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in https://github.com/kubernetes-sigs...
v3.15.1
v3.15.1
changes since v3.15.0
🐛 Bug Fixes
- (go/v4,kustomize/v2): - fix to preserve existing flags when applying metrics patch (#3947)
- (go/v4,kustomize/v2): - fix the place where metrics service is scaffolded by moving from config/rbac to config/default (#3948)
🎉 Thanks to all our contributors!
What's Changed (Full Changelog)
- 🐛 (cherry-pick #3937) - fix: preserve existing flags when applying metrics patch by @camilamacedo86 in #3947
- 🐛 (cherry-pick #3945) fix place where metrics service is scaffolded by moving from config/rbac to config/default by @camilamacedo86 in #3948
Full Changelog: v3.15.0...v3.15.1
v3.15.0
v3.15.0
changes since v3.14.2
⚠️ Breaking Changes
- (go/v4, kustomize/v2): Discontinue Kube RBAC Proxy in Default Kubebuilder Scaffolding (#3899). For further information see: 🚨 Action Required: Ensure that you no longer use gcr.io/kubebuilder images
🎉 Thanks to all our contributors!
What's Changed (Full Changelog)
- 📖 Fix link for controller-runtime FAQ by @camilamacedo86 in #3888
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.17.1 to 2.17.2 by @dependabot in #3891
- 🌱 Bump golangci/golangci-lint-action from 4 to 5 by @dependabot in #3892
- 🌱 Bump sigs.k8s.io/kubebuilder/v3 from 3.14.1 to 3.14.2 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3893
- 🌱 Bump github.com/onsi/gomega from 1.33.0 to 1.33.1 by @dependabot in #3900
- 🌱 Bump golang.org/x/tools from 0.20.0 to 0.21.0 by @dependabot in #3901
- 🌱 move tony to approver by @Kavinjsir in #3843
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.17.3 by @dependabot in #3905
- 🌱 Bump golangci/golangci-lint-action from 5 to 6 by @dependabot in #3906
⚠️ Discontinue Kube RBAC Proxy in Default Kubebuilder Scaffolding by @camilamacedo86 in #3899
Full Changelog: v3.14.2...v3.15.0
v3.14.2
v3.14.2
changes since v3.14.1
✨ New Features
- (go/v4): Upgrade controller-runtime dependency from v0.17.2 to v0.17.3 (#3882)
- (go/v4): Upgrade golangci from 1.54 to 1.57 by (#3846)
- (go/v4): (To address deprecation): Replace
deadline
in favor oftimeout
ingolangci-lint
configuration (#3865) - (kustomize/v2): Add CRD viewer and editor roles in rbac/kustomization.yaml (#3800)
- (go/v4): Upgrade cert-manager version used from v1.5.3 to v1.14.4 in the e2e tests scaffolded (#3839)
- (go/v4): Upgrade Prometheus version used in the tests from v0.68.0 to v0.72.0 in the e2e tests scaffolded (#3840)
- (go/v4): Upgrade gcr.io/kubebuilder/kube-rbac-proxy image from v0.15.0 to v0.16.0 (#3833).
⚠️ IMPORTANT: Please note that kube-rbac-proxy is now deprecated and will be discontinued in a future release.If you want to still using this project, it is recommended that you switch to the images directly provided by the project. For more details, please refer to the project’s image repository.
The Kubebuilder can no longer support the promotion and building of these images. All images previously built and promoted will no longer be available starting April 22, 2025. This change may impact your production workloads if they rely on these images. (
gcr.io/kubebuilder/kube-rbac-proxy:<all>
)For more information, please review the proposal to Discontinue Kube RBAC Proxy in Default Kubebuilder Scaffolding.
🐛 Bug Fixes
- (go/v4): Add comment to clarify that webhooks path in the marker values should not be changed (#3877)
- (go/v4): Fix Invalid leader election ID generated when domain is empty (#3876)
- (kustomize/v2, go/v4): Fix labels according to conventions. Follow-up of PR 3797 (#3857)
- (go/v4,kustomize/v2): Fix roles names for projects with multi-group layout (#3845)
- (go/v4,kustomize/v2): Fix the CRD kustomization path logic to ensure webhook patches are generated exclusively for resources that are configured with webhooks (#3838)
- (go/v4,kustomize/v2): Fix resource path generation for resources without a specified group (#3837)
- (kustomize/v2, go/v4): Fix labels according to conventions. Address change in missing files. It is a follow-up of the PR #3797 (#3857)
🎉 Thanks to all our contributors!
What's Changed (Full Changelog)
- 🌱 Fix makefile target make generate by @camilamacedo86 in #3834
- ✨ (go/v4) - Upgrade Prometheus version used in the tests from v0.68.0 to v0.72.0 by @camilamacedo86 in #3840
- ✨ Upgrade gcr.io/kubebuilder/kube-rbac-proxy image from v0.15.0 to v0.16.0 by @camilamacedo86 in #3833
- ✨ Upgrade cert-manager version used from v1.5.3 to v1.14.4 by @camilamacedo86 in #3839
- 🐛 fix resource path generation for resources without a specified group by @camilamacedo86 in #3837
- 🌱 Bump sigs.k8s.io/kubebuilder/v3 from 3.14.0 to 3.14.1 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3841
- 🐛 Fix the CRD kustomization path logic to ensure webhook patches are generated exclusively for resources that are configured with webhooks by @camilamacedo86 in #3838
- 🐛 (go/v4,kustomize/v2): fix roles names for projects with multi-group layout by @camilamacedo86 in #3845
- ✨ Upgrade golangci from 1.54 to 1.57 by @camilamacedo86 in #3846
- 📖 Fix Generate Sample for Getting Started Tutorial by @camilamacedo86 in #3848
- 🌱 Upgrade images used in the samples and e2e tests for deployImage plugin by @camilamacedo86 in #3849
- 🌱 Remove plugin flag from generate docs samples by @camilamacedo86 in #3850
- 🌱 Update common kind and envtest for e2e tests by @camilamacedo86 in #3852
- 🌱 Cleanup and fix kind config to run the tests against 1.29 by @camilamacedo86 in #3851
- ✨ (kustomize/v2): Add CRD viewer and editor roles in rbac/kustomization.yaml by @lunarwhite in #3800
- 🌱 Bump golang.org/x/tools from 0.19.0 to 0.20.0 by @dependabot in #3856
- 🐛 (kustomize/v2, go/v4): Fix labels according to conventions. Follow-up of PR 3797 by @camilamacedo86 in #3857
- ✨ : (go/v4): Replace
deadline
in favor oftimeout
ingolangci-lint
configuration by @afritzler in #3865 - 🌱 ci: fix go sample e2e tests by @camilamacedo86 in #3867
- 🌱Evaludate and Apply Latest Lint Rules and Features by @prashantrewar in #3866
- 📖 Add Roadmaps to bring visibility and allow better collaboration by @camilamacedo86 in #3835
- 📖 fix typo in raising-events.md by @whitebear009 in #3870
- 📖 : Proposal : Discontinue Kube RBAC Proxy in Default Kubebuilder Scaffolding by @camilamacedo86 in #3860
- 🌱 Bump github.com/onsi/gomega from 1.32.0 to 1.33.0 by @dependabot in #3869
- 📖 Add note to link Controller-Runtime FAQ page by @camilamacedo86 in #3874
- 📖 Update Multi-Version Tutorial by @camilamacedo86 in #3875
- 🐛 fix Invalid leader election ID generated when domain is empty by @camilamacedo86 in #3876
- 🐛 Add comment to clarify that webhooks path in the marker values should not be changed by @camilamacedo86 in #3877
- 🌱 Just ensure that we have the right permissions to regenerate the getting started sample by @camilamacedo86 in #3881
- ✨ Upgrade controller-runtime dependency from v0.17.2 to v0.17.3 by @camilamacedo86 in #3882
New Contributors
- @lunarwhite made their first contribution in #3800
- @afritzler made their first contribution in #3865
- @prashantrewar made their first contribution in #3866
- @whitebear009 made their first contribution in #3870
Full Changelog: v3.14.1...v3.14.2
v3.14.1
v3.14.1
changes since v3.14.0
✨ New Features
- (go/v4): Upgrade controller-runtime from v0.17.0 to v0.17.2 (#3827)
🐛 Bug Fixes
- (go/v4): Remove trailing whitespace from Readme which is scaffold for the project (#3813)
- (go/v4): Fix compatibility issues encountered while setting up EnvTest binaries by using the controller-runtime branch releases (#3824).
- (kustomize/v2, go/v4, deploy-image/v1-alpha): Fix labels according to conventions and conveys. app.kubernetes.io/name now have the ProjectName and the labels app.kubernetes.io/instance, app.kubernetes.io/component, app.kubernetes.io/created-by, app.kubernetes.io/part-of were removed (#3797)
- (go/v4): Fix makefile target build-installer to discarding the previous content (#3766)
- (go/v4): Fix scaffolding e2e template by adding missing errors checks (#3786)
- (go/v4): Fix makefile target
build-installer
to discarding the previous content (#3766) - (go/v4): Fix rules to allow create new APIs by reverting the PR( #3742 ) (#3787)
🎉 Thanks to all our contributors!
What's Changed (Full Changelog)
- 📖 docs updates for external types and submodule-layouts by @jakobmoellerdev in #3055
- 🐛 (go/v4) Fix makefile target build-installer to discarding the previous content by @lukas016 in #3766
- 📖 Clean up getting started docs by @stmcginnis in #3758
- 📖 Update Contrbuting.MD by @camilamacedo86 in #3769
- 📖 Fix #the reference link by @wastelife in #3771
- 📖 Simplify if condition in cronjob tutorial by @lpugoy in #3765
- 📖 Typo multi-version tutorial deployment.md by @tatehanawalt in #3770
- 📖 Fix typo in cronjob-tutorial by @awalvie in #3773
- 🌱 Bump sigs.k8s.io/kubebuilder/v3 from 3.13.0 to 3.14.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3774
- 🌱 Bump golangci/golangci-lint-action from 3 to 4 by @dependabot in #3778
- 📖 Add context to handler func by @vladfr in #3777
- 🌱 Bump golang.org/x/tools from 0.17.0 to 0.18.0 by @dependabot in #3779
- 🐛 Revert ":bug: Align CRD version validation with apiextensions" by @camilamacedo86 in #3787
- 🐛 scaffolding e2e template err check by @domcyrus in #3786
- 📖 Specify what is run and deployed by @letthefireflieslive in #3788
- 📖 Add the
Admission webhooks
link indocs/book/src/reference/admisson-webhook.md
by @renormalize in #3799 - 🐛(kustomize/v2, go/v4, deploy-image/v1-alpha): Fix labels according to conventions and conveys. app.kubernetes.io/name now have the ProjectName and the labels app.kubernetes.io/instance, app.kubernetes.io/component, app.kubernetes.io/created-by, app.kubernetes.io/part-of were removed by @sarthaksarthak9 in #3797
- 🌱 Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 by @dependabot in #3820
- 🐛 Fix compatibility issues encountered while setting up envtest by using the controller-runtime branch releases (unblock CI) by @camilamacedo86 in #3824
- 📖 : (README) Fix slack channel access address by @uos-ljtian in #3818
- 🐛 fix make build-installer command to remove CRD duplication by @mateusoliveira43 in #3814
- 🐛 fix: Remove empty line at beginning of generated files by @mateusoliveira43 in #3815
- 📖 Fix typo issue in the docs by @mcbenjemaa in #3803
- 📖 Add missing basic-project-doc link by @semihbkgr in #3806
- 🌱 Add prefix to bot PR title to respect community rule by @Kavinjsir in #3810
- 🌱 Bump golang.org/x/tools from 0.18.0 to 0.19.0 by @dependabot in #3817
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.15.0 to 2.17.1 by @dependabot in #3822
- 🌱 Remove trailing whitespace in readme gen by @bzub in #3813
- 🌱 Remove trailing spaces in the docs and add check as automate fix to the make generate by @camilamacedo86 in #3826
- ✨ Upgrade controller-runtime from v0.17.0 to v0.17.2 by @camilamacedo86 in #3827
New Contributors
- @stmcginnis made their first contribution in #3758
- @wastelife made their first contribution in #3771
- @lpugoy made their first contribution in #3765
- @tatehanawalt made their first contribution in #3770
- @awalvie made their first contribution in #3773
- @vladfr made their first contribution in #3777
- @domcyrus made their first contribution in #3786
- @letthefireflieslive made their first contribution in #3788
- @sarthaksarthak9 made their first contribution in #3797
- @uos-ljtian made their first contribution in #3818
- @mcbenjemaa made their first contribution in #3803
- @bzub made their first contribution in #3813
Full Changelog: v3.14.0...v3.14.1
v3.14.0
changes since v3.13.0
✨ New Features
- (go/v4): Upgrade dependencies to Support k8s 1.29 ( #3749 )
- Upgrade from k8s 1.28 to 1.29
- Upgrade controller runtime from 0.16.13 to 0.17.0
- Upgrade controller tools from 0.13.0 to 0.14.0
- (kustomize/v2, go/v4): Upgrade kustomize from v5.2.1 to v5.3.0 ( #3751 )
- (CLI, go/v4) - Add support to go 1.21 ( #3745 )
- (go/v4): Add tests for the webhooks and controllers which are created so that the suite test is no longer ignored ( #3631 )
- (go/v4): Add e2e tests scaffolded in default layout( #3670 )
- (go/v4): Ensure versioning of tools and binaries installed via Makefile ( #3718 )
- (CLI - Binary) - Start to build CLI binary for Linux s390x ( #3741 )
- (go/v4): Add method to allow users to distribute the project ( #3626 )
- Change Kind (CRD) version validation to use the same API extensions validation to be more permissive ( #3742 )
🐛 Bug Fixes
- (go/v3, go/v4) Disable HTTP2 for webhook server and metrics to address CVE-2023-39325 HTTP/2 rapid reset can cause excessive work in net/HTTP ( #3734 )
- (go/v4): Fix make help instruction in the README ( #3719 )
- (go/v4): Fix comments and typo issues in the .gitignore ( #3717 )
- (go/v4): Standardize 'AS' Keyword Capitalization in Dockerfile for Clarity ( #3727 )
🎉 Thanks to all our contributors!
What's Changed (Full Changelog)
- ✨ (go/v4): Add tests for the webhooks and controllers which are created so that suite_test are no longer ignored by @dashanji in #3631
- ✨ Add e2e tests scaffolded in default layout by @Lauquik in #3670
- 📖 Docs fixes for code blocks, links and minor typos by @yuridekim in #3491
- 📖 Getting Started fix code examples indentation by @xiangpingjiang in #3681
- 📖 README.md: Fix the first subheading under the Kubebuilder heading by @renormalize in #3683
- 🌱 Bump sigs.k8s.io/kubebuilder/v3 from 3.12.0 to 3.13.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3688
- 🌱 Bump github.com/spf13/cobra from 1.7.0 to 1.8.0 by @dependabot in #3685
- 🌱 Bump golang.org/x/text from 0.13.0 to 0.14.0 by @dependabot in #3686
- 🌱 Bump kubernetes-sigs/kubebuilder-release-tools from 0.4.0 to 0.4.2 by @dependabot in #3687
- 📖 Update metrics reference to the latest version by @Kavinjsir in #3691
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.13.0 to 2.13.1 by @dependabot in #3693
- 🌱 Bump github.com/onsi/gomega from 1.29.0 to 1.30.0 by @dependabot in #3695
- 🌱 Bump golang.org/x/tools from 0.14.0 to 0.15.0 by @dependabot in #3694
- ✨ Enrich Grafana plugin panels by @Kavinjsir in #3690
- 🌱 Bump golang.org/x/tools from 0.15.0 to 0.16.0 by @dependabot in #3699
- 📖 readme: update meeting by @camilamacedo86 in #3676
- 🐛 Upgrade envtest from 0.28.0 to 0.28.3 to ensure that versions used are aligned by @camilamacedo86 in #3680
- 🌱 Bump github.com/spf13/afero from 1.10.0 to 1.11.0 by @dependabot in #3701
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.13.1 to 2.13.2 by @dependabot in #3702
- 📖 Update cronjob_controller.go: simplify setting mostRecentTime logic by @hp685 in #3700
- 🌱 Bump actions/setup-go from 4 to 5 by @dependabot in #3707
- 🌱 Bump kubernetes-sigs/kubebuilder-release-tools from 0.4.2 to 0.4.3 by @dependabot in #3708
- 🌱 Bump golang.org/x/tools from 0.16.0 to 0.16.1 by @dependabot in #3714
- 🌱 Bump actions/upload-artifact from 3 to 4 by @dependabot in #3713
- 🌱: Update timestamps in generated files by @jonas-jonas in #3722
- 📖 fixes: syntax error in cert manager code example by @KitSutliff in #3724
- 🐛 (go/v4): fix make help instruction in the README by @mateusoliveira43 in #3719
- 🌱 Bump golang.org/x/tools from 0.16.1 to 0.17.0 by @dependabot in #3730
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.13.2 to 2.14.0 by @dependabot in #3729
- 🌱 Bump joelanford/go-apidiff from 0.7.0 to 0.8.1 by @dependabot in #3731
- 🐛 (go/v4) update gitignore template comments and fix some nit typo issues by @mateusoliveira43 in #3717
- 🐛 (go/v4): Standardize 'AS' Keyword Capitalization in Dockerfile for Clarity by @mateusoliveira43 in #3727
- 📖 Update CONTRIBUTING.md: Add info about 1 need/commit per PR by @camilamacedo86 in #3732
- ✨ : (go/v3,go/v4) Disable HTTP2 for webhook server and metrics in order to address CVE-2023-39325 HTTP/2 rapid reset can cause excessive work in net/http by @everettraven in #3734
- ✨ (go/v4) : Ensure versioning of tools and binaries installed via Makefile by @lukas016 in #3718
- 🌱 Bump github.com/onsi/gomega from 1.30.0 to 1.31.1 by @dependabot in #3736
- 🌱 Bump joelanford/go-apidiff from 0.8.1 to 0.8.2 by @dependabot in #3738
- 🌱 fix/ci and update project by @camilamacedo86 in #3743
- ✨ Start to build CLI binary for linux_s390x as target by @ShivangGoswami in #3741
- ✨ (go/v4): Add method to allow users distribute the project by @camilamacedo86 in #3626
- 🌱 : bump e2e tools version to support running Apple ARM instance by @Kavinjsir in #3747
- ✨ Add support to go 1.21 by @camilamacedo86 in #3745
- ✨ (kustomize/v2): Upgrade kustomize from v5.2.1 to v5.3.0 by @camilamacedo86 in #3751
- 📖 Fix typo in raising-events.md from rule.yaml to role.yaml by @go-bai in #3755
- ✨ (go/v4): upgrade to Support k8s 1.29 by @camilamacedo86 in #3749
- 🌱 : increase verbose for e2e tests by @camilamacedo86 in #3756
- 🌱 drop unnecessary file change for unit test by @Eileen-Yu in #3757
- 🐛 Align CRD version validation with apiextensions by @robzienert in #3742
New Contributors
- @dashanji made their first contribution in #3631
- @Lauquik made their first contribution in #3670
- @yuridekim made their first contribution in #3491
- @xiangpingjiang made their first contribution in #3681
- @renormalize made their first contribution in #3683
- @hp685 made their first contribution in #3700
- @jonas-jonas made their first contribution in #3722
- @KitSutliff made their first contribution in #3724
- @mateusoliveira43 made their first contribution in #3719
- @lukas016 made their first contribution in #3718
- @ShivangGoswami made their first contribution in #3741
- @go-bai made their first contribution in #3755
- @robzienert made their first contribution in #3742
Full Changelog: v3.13.0...v3.14.0
v3.13.0
changes since v3.12.0
✨ New Features
- Upgraded controller-runtime from
v0.16.0
tov0.16.3
( #3597, #3625, #3665 ) - Added golangci integration to the default scaffold ( #3600 )
- Allowed customization of golangci-lint version in the Makefile ( #3642 )
- Upgraded k8s version from
v0.28.1
tov0.28.3
to address CVE-2023-44487 ( #3665 ) - Upgraded kustomize version from v5.1.1 to v5.2.1 ( #3661 )
- Upgraded
gcr.io/kubebuilder/kube-rbac-proxy
container image version fromv0.14.1
tov0.15.0
( #3665 )
🐛 Bug Fixes
- Disabled log timestamp ( #3619 )
- Fixed readme content and instructions ( #3628 )
- Fixed yamllint warnings in the scaffolds done under config ( #3634 )
- Fixed uncomment kustomize files config accordingly when webhooks are generated ( #3629 )
- Fixed role and kustomize build when no CRDs are added to the project ( #3627 )
- Stopped generating crd webhooks patches and injections for any CRD/API and projects without webhooks ( #3647 )
- Removed the use of deprecated patchesStrategicMerge ( #3661 )
Thanks to all our contributors!
What's Changed
- add tip for release notes by @camilamacedo86 in #3594
- upgrade controller-runtime from 0.16.0 to 0.16.1 by @camilamacedo86 in #3597
- update summary index to show that declarative is deprecated by @camilamacedo86 in #3593
- fix link best practices by @camilamacedo86 in #3595
- Updating go deps by @camilamacedo86 in #3611
- ✨ add golangci integration to the default scaffold by @camilamacedo86 in #3600
- supplement doc over alpha generate command by @camilamacedo86 in #3602
- 🌱 Bump goreleaser/goreleaser-action from 4 to 5 by @dependabot in #3614
- docs(cert-manager): Change ownership links by @jesse-c in #3610
- Bump sigs.k8s.io/kubebuilder/v3 from 3.11.1 to 3.12.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3615
- Update docs for using Decoder with Core Type Webhook by @phenixblue in #3613
- Improvements in the Documentation by @semihbkgr in #3606
- runtime error on darwin arm64 machine: killed by @lowang-bh in #3584
- unify promethuse-operator url by @lowang-bh in #3620
- fix: disable log timestamp by @lowang-bh in #3619
- 📖 Add Make install workaround by @Sajiyah-Salat in #3543
- update controller-runtime to 0.16.2 by @lowang-bh in #3625
- Add getting started doc by @camilamacedo86 in #3596
- (go/v4): fix readme content and instructions by @camilamacedo86 in #3628
- fix and improve samples as add further coverage by @camilamacedo86 in #3616
- (kustomize/v1,go/v4): Fix yamllint warnings in the scaffolds done under config. by @MaGaroo in #3634
- 🌱 Bump actions/checkout from 3 to 4 by @dependabot in #3637
- Bump github.com/spf13/afero from 1.9.5 to 1.10.0 by @dependabot in #3635
- Bump github.com/onsi/ginkgo/v2 from 2.12.0 to 2.12.1 by @dependabot in #3636
- Update kubebuilder demo svg in README by @MaGaroo in #3638
- 🐛 (kustomize/v2,go/v4): fix uncomment kustomize files config accordinly when webhooks are generate by @camilamacedo86 in #3629
- 📖 add info about status and webhooks by @camilamacedo86 in #3612
- 📖 Fix variable reference in docs by @vaibhavkhurana2018 in #3641
- 📖 Clarify plugin executable locations by @tomasaschan in #3643
- ✨ (go/v4) allow golangci-lint version into the Makefile to be customizable by @redhatrises in #3642
- fix testdata get outdated by @camilamacedo86 in #3645
- (kustomize/v2, go/v4): fix role and kustomize build when no CRDs are added to the project by @camilamacedo86 in #3627
- add link from k8s to clarify admission webhooks by @camilamacedo86 in #3648
- Bump github.com/onsi/gomega from 1.27.10 to 1.28.0 by @dependabot in #3650
- fix lint issue by @camilamacedo86 in #3656
- Bump golang.org/x/tools from 0.13.0 to 0.14.0 by @dependabot in #3654
- Bump github.com/onsi/ginkgo/v2 from 2.12.1 to 2.13.0 by @dependabot in #3653
- 🌱 Bump kubernetes-sigs/kubebuilder-release-tools from 0.3.0 to 0.4.0 by @dependabot in #3655
- 🐛 stop to generate crd webhooks patches and cainjetions for any CRD/API and projects without webhooks by @camilamacedo86 in #3647
- Bump golang.org/x/net from 0.16.0 to 0.17.0 by @dependabot in #3658
- Addressing Deprecated Manager Options by @buraksekili in #3664
- [fix]: Bump patch version of k8s deps to address CVE-2023-44487 by @varshaprasad96 in #3665
- Bump github.com/onsi/gomega from 1.28.0 to 1.28.1 by @dependabot in #3669
- (kustomize/v2,go/v4): Remove use of deprecated patchesStrategicMerge / Upgrade kustomize version from v5.1.1 to v5.2.1 by @MaGaroo in #3661
- Bump github.com/onsi/gomega from 1.28.1 to 1.29.0 by @dependabot in #3673
- Bump sigs.k8s.io/yaml from 1.3.0 to 1.4.0 by @dependabot in #3674
New Contributors
- @jesse-c made their first contribution in #3610
- @phenixblue made their first contribution in #3613
- @semihbkgr made their first contribution in #3606
- @MaGaroo made their first contribution in #3634
- @vaibhavkhurana2018 made their first contribution in #3641
- @tomasaschan made their first contribution in #3643
Full Changelog: v3.12.0...v3.13.0
v3.12.0
changes since v3.11.1
⚠️ Breaking Changes
- Deprecation of the Declarative Plugin (
declarative/v1
) (#3395):
The Declarative plugin (
declarative/v1
) is an implementation derived from the kubebuilder-declarative-pattern project. As the project maintainers possess the most comprehensive knowledge about its changes and Kubebuilder allows the creation of custom plugins using its library, it has been decided that this plugin will be better maintained within the kubebuilder-declarative-pattern project itself, which falls under its domain of responsibility. This decision aims to improve the maintainability of both the plugin and Kubebuilder, ultimately providing an enhanced user experience. To follow up on this work, please refer to the issue #293.
- (go/v4): Upgrade k8s 1.27.1 to 1.28.0 and controller-runtime from 0.15.0 to 0.16.0 (#3570)
Controller-runtime has breaking changes see the release notes of the version v0.16.0 . Following the changes required to be introduced in the main.go and in the webhook_suite_test.go:
- Convert Manager Option field
MetricsBindAddress
toMetrics
. (Relative PR: kubernetes-sigs/controller-runtime#2407)- Remove Manager Option fields
Host
,Port
,CertDir
since they are deprecated and set by default webhook options. (Relative PR: kubernetes-sigs/controller-runtime#2422)
✨ New Features
- (kustomize/v2, go/v4) upgrade kustomize version from 5.0.1 to 5.1.1 (#3587)
- (kustomize/v2, go/v4): upgrade controller-tools from 0.12.0 to 0.13.0 (#3561)
- (CLI): Standardization of Logs using Library logrus ( replace of fmt.Print ) (#3571)
- Alpha Command to re-scaffold project (
kubebuilder alpha generate
) improvements: - (API): Export config struct to be available for external plugin (#3554)
- (go/v4): Add .vscode to autogenerated .gitignore files (#3480)
🐛 Bug Fixes
- (kustomize/v2,go/v4): fix kustomization yaml's webhooks patches file names for multgroup layouts (#3580)
- (CLI) change deprecated warning to yellow (#3563)
- (deployimage/v1-beta1): fix scaffold with multigroup and and add optional plugins to multigroup sample to validate changes (#3560)
- (go/v4): fix makefile target to build images ensuring its single responsibility (#3353)
- (go/v4): fix grammar in scaffolded makefiles (#3542)
- (API): Ensure external plugin can scaffold files in new directories (#3519)
- (CLI): Fix completion in deprecated projects (#3474)
- (go/v4, deployImage): fix scaffold to allow run the tests directly. Currently, is only possible run via the makefile targets (#3365)
- (CLI) Fix issue found to re-generate the scaffolds with the new alpha command (#3461)
- (go/v4,kustomize/v2): Fix kustomize syntax during conversion to patches by (#3456)
- (go/v4, deployImage): fix scaffold to allow run the tests directly. (#3365)
- (go/v4): fix makefile target to build images without run the tests (#3353)
- (go/v4): Start to check ENABLE_WEBHOOKS envvar into main.go to fix issue when webhooks are used (#3578)
- (kustomize/v2,go/v4): fix kustomization yaml's webhooks patches file names for multgroup layouts (#3580)
🎉 Thanks to all our contributors!
New Contributors
- @programmer04 made their first contribution in #3480
- @micahyoung made their first contribution in #3504
- @csantanapr made their first contribution in #3500
- @BronzeDeer made their first contribution in #3474
- @Benjaminvdv made their first contribution in #3517
- @typeid made their first contribution in #3542
- @lowang-bh made their first contribution in #3571
Full Changelog
- 🐛 Fix kustomize syntax during conversion to patches by @mjlshen in #3456
- 🐛 Add .vscode to autogenerated .gitignore files by @programmer04 in #3480
- 🌱 build(deps): bump sigs.k8s.io/kubebuilder/v3 from 3.10.0 to 3.11.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3477
- 🐛 Fix issue found to re-generate the scaffolds with the new alpha command and adding e2e tests by @yyy1000 in #3461
- ✨ Add multigroup flag in alpha generate subcommand by @yyy1000 in #3487
- 🌱 build(deps): bump sigs.k8s.io/kubebuilder/v3 from 3.11.0 to 3.11.1 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3485
- 🌱 build(deps): bump golang.org/x/tools from 0.10.0 to 0.11.0 by @dependabot in #3493
- 📖 Updates extending kubebuilder docs to use NewBundleWithOptions by @sklarsa in #3490
- ✨ Add API fields in alpha generate subcommand by @yyy1000 in #3489
- ✨ Add Webhooks in alpha generate subcommand by @yyy1000 in #3497
- 📖 : Update README.md - Community Meetings by @camilamacedo86 in #3498
- 🐛(go/v4, deployImage): fix scaffold to allow run the tests directly. Currently, is only possible run via the makefile targets by @camilamacedo86 in #3365
- 🌱 Update security contacts by @camilamacedo86 in #3407
- ✨ Add Grafana Plugin migration in alpha generate subcommand -- Step 1 by @yyy1000 in #3503
- 📖 Fix typo in scaffold plugins docs by @micahyoung in #3504
- 📖 Docs update quick-start.md use "kubectl -k apply" by @csantanapr in #3500
- 🌱 build(deps): bump github.com/onsi/gomega from 1.27.8 to 1.27.10 by @dependabot in #3507
- 📖 : apply kustomize dir with correct flags by @Kavinjsir in #3510
- 🌱 Update destroy function by @Sajiyah-Salat in #3508
- ✨ Add Grafana Plugin migration in alpha generate subcommand -- Step 2 by @yyy1000 in #3509
- 📖 Add tutorial for external plugin by @Eileen-Yu in #3488
- 🐛 fix(completion): Fix completion in deprecated projects by @BronzeDeer in #3474
- 🌱 build(deps): bump golang.org/x/tools from 0.11.0 to 0.12.0 by @dependabot in #3527
- 📖 chore(docs): change folder pkg to internal/controller in the migratio… by @Benjaminvdv in #3517
- 🐛 Ensure external plugin can scaffold files in new directories by @Eileen-Yu in #3519
- 🌱 Image name edge cases covered by @Sajiyah-Salat in #3514
- 🌱 logs info updated by @Sajiyah-Salat in #3512
- 🐛 fix doc preview by @camilamacedo86 in #3535
- 🐛: sync kb binary from source code for docs by @Kavinjsir in #3520
- 🐛 fix grammar in scaffolded makefiles by @typeid in #3542
- 📖 fix escaped html in markdown code segments by @typeid in #3541
- 🐛 (go/v4) fix makefile target to build images ensuring its single responsibility by @camilamacedo86 in #3353
- ✨ Externalize config struct to be available for external plugin by @Eileen-Yu in #3554
- 🌱 : (deployimage): fix e2e tests which are using go/v3 which is dep… by @camilamacedo86 in #3565
- 🌱 ensure that we call go tidy, make manifests and all when we generate… by @camilamacedo86 in #3564
- ✨ (Kustomize/v2, go/v4): upgrade controller-tools from 0.12.0 to 0.13.0 by @Kavinjsir in #3561
- ✨ improve logs from alpha command generate by @camilamacedo86 in #3556
- 🐛 (deployimage/v1-beta1): fix scaffold with multigroup and and add optional plugins to multigroup sample to validate changes by @camilamacedo86 in https://g...
v3.11.1
changes since v3.11.0
🐛 Bug Fixes
- (go/v4, kutomize/v2): Fix kustomize syntax during conversion to patches by @mjlshen in #3456
- Add .vscode to autogenerated .gitignore files by @programmer04 in #3480
New Contributors
- @programmer04 made their first contribution in #3480
Full Changelog: v3.11.0...v3.11.1
v3.11.0
changes since v3.10.0
⚠️ Breaking Changes
- Deprecation of ComponentConfig. Note that Kubebuilder is no longer able to ensure that it is functioning as intended. For further information see: #3469 (#3442, #3467 )
- (API) deprecate the old func to create a new BundlePlugin in favour of the new one, which uses as arg BundleOptions (#3360)
- (go/v4): Upgrade controller-runtime and k8s dependencies to support k8s 1.27 (#3444). Be aware that controller-runtime version
v0.15.0
has significant breaking changes which affects webhooks.
✨ New Features
- (API): Make external plugin path configurable (#3437)
- (deployImage/v1alpha) improve the controller tests scaffolded (#3364)
- (go/v4): Allows kubectl to be configured in Makefile (#3430)
- (go/v4): Updated Makefile to support go install kustomize (#3398)
- (go/v4): Allows container tool to be configured in Makefile (#3371)
- (go/v4): Upgrade binaries used for controller tests (ENVTEST_K8S_VERSION) from k8s version 1.26.1 to 1.27.1 (#3383)
- (API and go/v4): Upgrade go version to 1.20 (#3355)
- (go/v4): Upgrade image gcr.io/kubebuilder/kube-rbac-proxy from v0.13.1 to v0.14.1 (#3358)
🐛 Bug Fixes
- (go/v4): Fixes headers scaffolded when license selected is of none type (#3391)
- (go/v4): Fixes issue faced when no boilerplate file exist (#3378)
- (go/v4, deployimage): Fixes the name of test functions (#3363)
- (go/v4): Remove bintest dir from gitignore and dockerfile since this directory is not scaffolded (#3359)
- (kustomize/v1, kustomize/v2): remove multi arch node affinity patch from auth proxy (#3311)
- (kustomize/v2) Remove deprecated syntax usage by replacing patchesStrategicMerge with patches (#3374)
Thanks to all our contributors!
New Contributors
- @khareyash05 made their first contribution in #3352
- @yyy1000 made their first contribution in #3378
- @redhatrises made their first contribution in #3371
- @kkkkun made their first contribution in #3388
- @lauchokyip made their first contribution in #3398
- @davidxia made their first contribution in #3410
- @tragiclifestories made their first contribution in #3424
- @juanluisvaladas made their first contribution in #3403
- @cuishuang made their first contribution in #3441
- @Shabirmean made their first contribution in #3443
Full Changelog
- 📖 fix migration guide after go/v4 stabilization and links by @camilamacedo86 in #3344
- 📖 apply changes done in the pr 3287 by @camilamacedo86 in #3343
- 📖 fix/update go/v4 plugin page doc after the stabilization by @camilamacedo86 in #3345
- 📖 fix kustomize-v2 index link by @camilamacedo86 in #3346
- 🐛 (kustomize/v1, kustomize/v2): remove multi arch node affinity patch from auth proxy by @NikhilSharmaWe in #3311
- ✨Change
NewBundle
method to build bundles through working with options by @NikhilSharmaWe in #3312 ⚠️ (API) deprecate the old func to create a new BundlePlugin in favour of the new one, which uses as arg BundleOptions by @camilamacedo86 in #3360- 🌱 added test for exec.go by @khareyash05 in #3352
- ✨ (go/v4) Upgrade image gcr.io/kubebuilder/kube-rbac-proxy from v0.13.1 to v0.14.1 by @camilamacedo86 in #3358
- 🐛 (go/v4) fix scaffold remove bintest dir from gitignore and dockerfile since this directory is not scaffolded by @camilamacedo86 in #3359
- 🐛 (go/v4, deployimage): fix the name controllers test function by @camilamacedo86 in #3363
- ✨ (kustomize/v2,go/v4): Upgrade kustomize version from 5.0.0 to 5.0.1 by @camilamacedo86 in #3366
- 🌱 cleanup tests after go/v3 deprecation by @camilamacedo86 in #3354
- ✨ (API and go/v4): Upgrade go version to 1.20 by @camilamacedo86 in #3355
- 📖: remove banner by @ashutosh887 in #3381
- 🐛 (go/v4): Scaffold when no boilerplate file by @yyy1000 in #3378
- ✨ (go/v4): Upgrade binaries used for controller tests (ENVTEST_K8S_VERSION) from k8s version 1.26.1 to 1.27.1 by @yyy1000 in #3383
- ✨ (go/v4): Allows container tool to be configured in Makefile by @redhatrises in #3371
- ✨ (go/v4): Upgrade controller-tools from 0.11.3 to v0.12.0 by @kkkkun in #3388
- 🌱 Update cronjob-tutorial automatically by @Eileen-Yu in #3231
- 📖 update doc samples within the latest changes by @camilamacedo86 in #3392
- 📖: Update go version in docs to v1.20 by @yyy1000 in #3389
- 🐛: (go/v4) Scaffold no header when lincense is type none by @yyy1000 in #3391
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 by @dependabot in #3397
- ✨ (kustomize/v2) Remove deprecated syntax usage by replacing patchesStrategicMerge with patches by @Sajiyah-Salat in #3374
- 🌱 Update the Owner Alias accordingly by @camilamacedo86 in #3406
- ✨ Updated Makefile to support go install kustomize by @lauchokyip in #3398
- 📖 fix formatting in quick start by @davidxia in #3410
- 📖 update completion.md with fish shell instructions by @davidxia in #3409
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.9.5 by @dependabot in #3414
- 🌱 Update go version for external plugin sample by @Eileen-Yu in #3412
- 🌱 Bump sigs.k8s.io/kubebuilder/v3 from 3.7.0 to 3.10.0 in /docs/book/src/simple-external-plugin-tutorial/testdata/sampleexternalplugin/v1 by @dependabot in #3417
- 📖 Added user prompt for multi version api doc by @lauchokyip in #3416
- 📖 Added link for cronjob tutorial by @lauchokyip in #3411
- 🌱 Added the test-coverage for completion.go and version.go inside cli pkg by @yashsingh74 in #3233
- 🌱 Bump github.com/onsi/gomega from 1.27.6 to 1.27.7 by @dependabot in #3428
- 📖 Quote download URL in quickstart docs by @tragiclifestories in #3424
- 🌱 Bump github.com/sirupsen/logrus from 1.9.0 to 1.9.2 by @dependabot in #3429
- 📖 Fixed manager_webhook_patch not uncommented by @lauchokyip in #3427
- ✨ (go/v4): Allows kubectl to be configured in Makefile by @redhatrises in #3430
- 📖 doc: Fix multigroup migration guide for v4 by @juanluisvaladas in #3403
- 🌱 Add e2e tests for sample external plugin by @Eileen-Yu in #3419
- 🌱 Bump golang.org/x/tools from 0.9.1 to 0.9.3 by @dependabot in #3439
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.9.5 to 2.9.7 by @dependabot in #3440
- 📖 : fix function name in comments by @cuishuang in #3441
- 🌱 Bump github.com/sirupsen/logrus from 1.9.2 to 1.9.3 by @dependabot in #3438
- 🌱 move joelanford to emeritus by @joelanford in #3436
- 📖 : doc fix path error by @Shabirmean in #3443
- ✨re-scaffold the project with a new command by @yyy1000 in #3431
⚠️ deprecate component config and no longer able to ensure that it is functioning as intended by @camilamacedo86 in #3442- 🌱 Bump github.com/onsi/gomega from 1.27.7 to 1.27.8 by @dependabot in #3448...