Releases: kubernetes-sigs/kubebuilder
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...
v3.10.0
changes since v3.9.0
⚠️ Breaking Changes
- (kustomize/v2-alpha, go/v4-alpha): Upgrade kustomize from 4.5.7 to 5.0.0 by @Eileen-Yu in #3199
- (kustomize/v2) Stabilize plugin. kustomize/v2-alpha was replaced with kustomize/v2 by @camilamacedo86 in #3234
- (go/v4-alpha) Stabilize plugin. go/v4-alpha was replaced with go/v4
- (API) fix to allow bundle plugin to have deprecation message by @camilamacedo86 in #3276
What do you need to do?
If you created your project with
go/v4-alpha
plugin previously: You must update the PROJECT config to replacego.kubebuilder.io/v4-alpha
withgo.kubebuilder.io/v4
. Because you have been using an alpha version stabilized on this release, we recommend you check the migration guide to verify if you need more changes in the layout of your project. (More info)If you are consuming Kubebuilder as a dependency in your project and creating plugins using the Bundle Plugin(s): Please ensure that you will inform a deprecated message when it is deprecated or use an empty string when it is not. See that we must change the
NewBundle(...args)
implementation to address a bug fix to allow the Bundle Plugin(s) to have deprecation messages (#3276).
✨ New Features
- (go/v3,go/v4-alpha): Upgrade the k8s to 1.26.1 and controller-runtime to 0.14.2 by @yashsingh74 in #3197
- (go/v3,go/v4-alpha): instead of calling the script to install kustomize download it first by @jberkhahn in #3187
- (go/v3,go/v4-alpha) :Update controller-runtime and controller-tools dependencies by @camilamacedo86 in #3218
- make go/v4 to be default Kubebuilder CLI scaffold by @camilamacedo86 in #3278
- (API) deprecate kustomize/v1 and go/v3 packages by @camilamacedo86 in #3284
- (kustomize/v1) deprecated v1 version in favor of v2 by @camilamacedo86 in #3235
- (go/v3) deprecate go/v3 in favor of go/v4 by @camilamacedo86 in #3238
🐛 Bug Fixes
- (API - External Plugins): fix populate PluginRequest.Universe which is empty by @em-r in #3223
- (API - External Plugins): Fix external plugin discovery on Linux by @em-r in #3247
- (go/v4-alpha) stabilize go/v4 plugin. Plugin go/v4-alpha replaced with go/v4 by @camilamacedo86 in #3237
- (go/v3, go/v4] Remove stale imports by @varshaprasad96 in #3270
- deprecate message for go/v3 plugin by @camilamacedo86 in #3277
New Contributors
- @klucsik made their first contribution in #3135
- @swastik959 made their first contribution in #3176
- @jberkhahn made their first contribution in #3187
- @em-r made their first contribution in #3223
- @R3DRUN3 made their first contribution in #3236
- @tharun634 made their first contribution in #3243
- @shubhamrajvanshi made their first contribution in #3258
- @Sajiyah-Salat made their first contribution in #3255
- @xiao-jay made their first contribution in #3256
- @jongwooo made their first contribution in #3298
- @zjx20 made their first contribution in #3328
- @sklarsa made their first contribution in #3322
Full Changelog
compare changelog since v3.9.0: v3.9.0...v3.10.0
- 🌱 Bump kubernetes-sigs/kubebuilder-release-tools from 0.2.0 to 0.3.0 by @dependabot in #3168
- 📖 fix untile typo in readmes by @klucsik in #3135
- 📖 remove the workaround steps from the release doc by @camilamacedo86 in #3161
- 📖 [docs] : corrected layout of manually_migration_guide_gov3_to_gov4.md by @swastik959 in #3176
- 📖 : update ComponentConfig tutorial by @Eileen-Yu in #3181
- 🌱 Bump github.com/onsi/gomega from 1.24.2 to 1.26.0 by @dependabot in #3184
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.7.0 to 2.8.0 by @dependabot in #3190
- ✨ Update component-config tutorial automatically by @Eileen-Yu in #3191
⚠️ (kustomize/v2-alpha, go/v4-alpha): Upgrade kustomize from 4.5.7 to 5.0.0 by @Eileen-Yu in #3199- ✨ Upgrade the k8s to 1.26.1 and controller-runtime to 0.14.2 by @yashsingh74 in #3197
- 📖 [Fix] Generate docs by @varshaprasad96 in #3206
- ✨ (go/v3,go/v4-alpha): instead of call script to install kustomize download it first by @jberkhahn in #3187
- 📖 fix: sync docs tutorial with latest kb by @Kavinjsir in #3209
- 📖 Update cronjob-tutorial by @Eileen-Yu in #3213
- 🌱 Bump golang.org/x/text from 0.6.0 to 0.7.0 by @dependabot in #3228
- 🌱 Bump golang.org/x/tools from 0.5.0 to 0.6.0 by @dependabot in #3226
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.8.0 to 2.8.1 by @dependabot in #3227
- ✨ (go/v3,go/v4-alpha) :Update controller-runtime and controller-tools dependencies by @camilamacedo86 in #3218
- 📖 update the template for proposals by @camilamacedo86 in #3219
- 📖 update the status of the proposals in the repo by @camilamacedo86 in #3220
- 🐛 (Kubebuilder External Plugins API): fix populate PluginRequest.Universe which is empty by @em-r in #3223
- 📖 Add latest release badge to readme by @R3DRUN3 in #3236
- 🌱 Bump golang.org/x/net from 0.6.0 to 0.7.0 by @dependabot in #3232
- 📖 design doc with proposal to re-scaffold projects from scratch by @camilamacedo86 in #3221
- 🌱 Bump github.com/onsi/gomega from 1.26.0 to 1.27.1 by @dependabot in #3241
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.8.1 to 2.8.3 by @dependabot in #3242
⚠️ (kustomize/v1) deprecated v1 version in favor of v2 by @camilamacedo86 in #3235- 🌱 Update golangci-lint to latest version by @tharun634 in #3243
- 👻 : add tony as reviewer by @Kavinjsir in #3248
- 📖 Fix typo in api-changes.md by @shubhamrajvanshi in #3258
- 🌱 Bump github.com/spf13/afero from 1.9.3 to 1.9.4 by @dependabot in #3254
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.8.3 to 2.8.4 by @dependabot in #3253
- 🌱 Bump github.com/onsi/ginkgo/v2 from 2.8.4 to 2.9.0 by @dependabot in #3259
- 🌱 Bump github.com/gobuffalo/flect from 1.0.0 to 1.0.2 by @dependabot in #3252
⚠️ (go/v3) deprecate go/v3 in favor of go/v4 by @camilamacedo86 in #3238- 📖 fix typo in the design docs to scaffold projects by @Sajiyah-Salat in #3255
⚠️ (kustomize/v2) Stabilize plugin. kustomize/v2-alpha was replaced with kustomize/v2 by @camilamacedo86 in #3234- 🐛 (API - External Plugins): Fix external plugin discovery on Linux by @em-r in #3247
- 🌱 Bump golang.org/x/text from 0.7.0 to 0.8.0 by @dependabot in #3264
- 🌱 Bump github.com/spf13/afero from 1.9.4 to 1.9.5 by @dependabot in https://github.com/kubernetes-sigs/kubebui...
v3.9.1
changes since v3.9.0
🐛 Bug Fixes
- (go/v3, go/v4) Remove stale imports by @varshaprasad96
- (API) Clarify deprecate documentation for API methods which are served to work with CRD/WebHook API versions v1beta1 (#3261) by @varshaprasad96
🎉 Thanks to all our contributors!
v3.9.0
changes since v3.8.0
⚠️ Breaking Changes
- (go/v4-alpha): change the layout to follow Golang Standards by @camilamacedo86 ( #2985 )
IMPORTANT: Suppose you scaffold your project using the plugin go/v4-alpha (you can check it by looking at the PROJECT file config). In that case, you must follow the steps described in the migration guide under the section Migrating to the new layout to update your project prior using this version.
✨ New Features
- (go/v3, go/v4-alpha): Improve README scaffolded for the projects by @mdb ( #3122 )
- (go/v2, go/v3, go/v4-alpha): Add comment into the PROJECT file config to clarify its purpose by @jason1028kr ( #3137 )
- (go/v3, go/v4-alpha): Upgrade Kubernetes dependencies from 1.25 to 1.26 by @camilamacedo86 ( #3147 )
- (go/v3, go/v4-alpha): Controller-Runtime from v0.13.1to v0.14.1 by @camilamacedo86 ( #3147 )
- (go/v3, go/v4-alpha): ControllerToolsVersion from v0.10.0 to v0.11.1 by @camilamacedo86 ( #3147 )
- (declarative/v1): Update the sigs.k8s.io/kubebuilder-declarative-pattern from e0605f0e1a40f97293cb3773f57de695c8bc76af to 18dbaf5fcd851e6adc3f2f8a8facb669a1420797 by @camilamacedo86 ( #3147 )
🎉 Thanks to all our contributors!
New Contributors
- @jason1028kr made their first contribution in #3111
- @qingwave made their first contribution in #3120
- @mdb made their first contribution in #3122
- @neufeldtech made their first contribution in #3128
- @chinu-anand made their first contribution in #3131
- @ShivamTyagi12345 made their first contribution in #3123
- @tan-i-ham made their first contribution in #3140
- @GabriFedi97 made their first contribution in #3143
- @guettli made their first contribution in #3156
- @Sijoma made their first contribution in #3153
v3.8.0
changes since v3.7.0
⚠️ Breaking Changes
- the config-gen alpha command option was removed (#2998)
It has been hard to keep this option maintained. After many discussions, it was decided to remove the alpha config-gen command option since the community has not adopted it. However, its idea could still be addressed. More info
✨ New Features
- (kustomize/v1. kustomize/v2-alpha): upgrade gcr.io/kubebuilder/kube-rbac-proxy from 0.13.0 to 0.13.1 to address CVE (#3099)
- (kustomize/v2-alpha): add kustomize file to track CR(s) samples as a helper for plugins (#3084)
- (go/v3,go/v4-alpha): upgrade controller-runtime version from 1.13.0 to 1.13.1 (#3085)
- (go/v4-alpha): add new base and migration guide from go/v3 to go/v4-alpha (#3032)
- (go/v3,go/v4-alpha): update
make build
cmd with manifests generation (#3020) - (go/v4-alpha) : update kustomize version from 4.5.5 to 4.5.7 (#3001)
- (go/v3,go/v4-alpha): update controller-tools version (v0.9.2->v0.10.0) (#2956)
🐛 Bug Fixes
- (deployimage/v1-alpha): fix error to scaffold go/v4-alpha projects (#3104)
- (kustomize/v2-alpha): use a marker to track samples and do not create tracks for core types (#3102)
- fix unexpected end of file error in makefiles (#3079)
- fix a minor typo in Makefile (#3073)
- fix docker buildx makefile target missing arg (.) (#3046)
- fix the issue when component-config flag was used (#3010)
- fix kubebuilder install locally with curl request to show errors faced (#2970)
- remove duplicate words and fix spelling mistakes (#2964)
Thanks to all our contributors!
New Contributors
- @sj14 made their first contribution in #2960
- @yashsingh74 made their first contribution in #2967
- @akoserwal made their first contribution in #2970
- @jkremser made their first contribution in #2965
- @astraw99 made their first contribution in #3020
- @multani made their first contribution in #3037
- @krishnaindani made their first contribution in #3038
- @seemiller made their first contribution in #3039
- @mikelsid made their first contribution in #3046
- @h0tbird made their first contribution in #3047
- @ebiiim made their first contribution in #3073
- @coriaedu made their first contribution in #3077
- @andreasgerstmayr made their first contribution in #3098
- @mresvanis made their first contribution in #3108
Full Changelog: v3.7.0...v3.8.0
v3.7.0
changes since v3.6.0
✨ New Features
- add options and guidance to provide solutions for other platforms and within multiple architecture support (#2906)
- (go/v3, go/v4-alpha and declarative/v1): Update k8s deps by upgrading controller-runtime from v0.12.2 to 0.13.0 and kubebuilder-declarative-pattern from fe5be9431eae158f86f9de23000a9a2ec06745fc to e0605f0e1a40f97293cb3773f57de695c8bc76af (#2920)
- add support to go 1.19 (#2922)
- Update envtest version (1.24.2 -> 1.25.0) (#2919)
- Experimental practice to scaffold dashboard manifest for custom metrics (#2858)
- Allow template to change parser delimiters (#2891)
- (kustomize/v1 and kustomize/v2-alpha): add labels on the manifests following the k8s recommendations (#2800)
- feat(envtest): checkout k8s binaries to explicit location (#2896)
- Add varshaprasad96 to reviewers (#2894)
- deploy-image/v1-alpha: add check for status conditions added to the custom resource (#2861)
- deploy-image/v1-alpha: add a todo comment for users stating envtest limitations (#2859)
🐛 Bug Fixes
- (makefile): make kustomize does not show curl error output (#2873)
- Add external plugin arg filter funcs and add filters for "--group", "--version", "--kind" (#2872)
- "Application Support" whitespace for mac plugins (#2863)
Thanks to all our contributors! 🎉
New Contributors
- @mjlshen made their first contribution in #2784
- @laxmikantbpandhare made their first contribution in #2794
- @arybolovlev made their first contribution in #2807
- @tomasfabian made their first contribution in #2778
- @rpriyanshu9 made their first contribution in #2821
- @FotiadisM made their first contribution in #2844
- @nandakumar12 made their first contribution in #2849
- @LittleWat made their first contribution in #2838
- @machadovilaca made their first contribution in #2827
- @jakobmoellersap made their first contribution in #2863
- @mk46 made their first contribution in #2886
- @rumstead made their first contribution in #2896
- @kilsilent made their first contribution in #2873
- @ruanxin made their first contribution in #2891
- @Gearheads made their first contribution in #2912
- @Eileen-Yu made their first contribution in #2924
- @manu12miskin made their first contribution in #2931
Release v3.6.0
changes since v3.5.0
✨ New Features
- (go/v3, go/v4-alpha): upgrade gcr.io/kubebuilder/kube-rbac-proxy from v0.12.0 to v0.13.0 (#2803)
- (kustomize/v2-alpha): remove unnecessary varReference for setup cert-manager (#2794)
- (go/v3, go/v4-alpha): upgrade k8s deps from 1.24 to 1.24.2, controller-tools from v0.9.0 to v0.9.2 and controller-runtime from v0.12.1 to v0.12.2 (#2791)
- (for external plugins/phase 2 plugins): enable external plugins to specify metadata and examples (#2780)
Add a new plugin (grafana/v1-alpha)
The Grafana plugin is an optional plugin that can be used to scaffold Grafana Dashboards to allow you to check out the default metrics which are exported by projects using controller-runtime.(More info)
- add a new dashboard to show CPU and Memory usage for Pods (#2797)
- add workqueue panels to the dashboard (#2834)
- Initialize the Grafana plugin (#2718)
Add a new plugin (deploy.image/v1-alpha)
The deploy-image plugin allows users to scaffold API/Controllers to deploy and manage an Operand (image) on the cluster following the guidelines and best practices. It abstracts the complexities of achieving this goal while allowing users to customize the code generated. (More info)
- add code for updating controller status when the deployment is created successfully (#2816)
- small improvements on the controller scaffold (#2831)
- improve controller-test reconciliation (#2830)
- add validation markers for size spec (#2825)
- made corrections in the controller_test.go scaffolds (#2818)
- change labels to follow the standards (#2813)
- add env var for storing the image name (#2817)
- add finalizers for the Custom Resource created (#2793)
- improve the variable name used (#2806)
- add tests for the controller using ENV TEST (#2792)
- adding a run-as-user flag for specifying user-id. (#2779)
- fix the track of options in the PROJECT file (#2776)
- add the new deploy-image/v1-alpha plugin (#2717)
- trim unnecessary if check into templates/controllers/controller-test.go (#2838)
- fix small issues (#2835) (#2774)
- remove the namespaced option (#2805)
Add new Golang plugin (go/v4-alpha) - (adds supports for Apple Silicon) (#2785)
Kubebuilder will scaffold using the go/v4-alpha plugin only if specified when initializing the project (i.e.
kubebuilder init --domain tutorial.kubebuilder.io --repo tutorial.kubebuilder.io/project --plugins=go/v4-alpha
). This plugin adds support to Apple Silicon and the upper Kustomize 4x version. (More Info)
🐛 Bug Fixes
- (go/v3, go/v4-alpha): fix makefile targets do not re-install binaries when they are found in the project bin directory (#2844)
- (go/v3): remove a no longer applied comment from Makefile (#2808)
- (API) remove KustomizeVersion const from Golang plugin ( the version is defined in the kustomize plugins which is responsable for ) (#2787)
🎉 Thanks to all our contributors!
New Contributors
- @mjlshen made their first contribution in #2784
- @laxmikantbpandhare made their first contribution in #2794
- @arybolovlev made their first contribution in #2807
- @tomasfabian made their first contribution in #2778
- @rpriyanshu9 made their first contribution in #2821
- @FotiadisM made their first contribution in #2844
- @nandakumar12 made their first contribution in #2849
- @LittleWat made their first contribution in #2838
Full Changelog: v3.5.0...v3.6.0
v3.5.0
v3.5.0
changes since v3.4.1
⚠️ Breaking Changes
- upgrade controller-runtime from v0.11.2 to v0.12.1 and k8s deps from 1.23 to 1.24.1 (#2679). More info
Note: if you are migrating your project from a version which is using controller-runtime old than v0.7.0 please ensure that you look in the notes about the changes regards the leader election.
✨ New Features
- ensure that Pod/Container(s) scaffold by default via the tool are restricted (#2700, #2767, #2720). To know more about its motivations
- upgrade controller-gen from 0.8.0 to 0.9.0 (#2715). More info
- (external plugins) add new api to support external plugins(plugin phase 2): add support to pass CLI flags (#2693, #2338) More info
- (kustomize/v2-alpha) add new plugin to allow address the changes from kustomize v3 to v4 (#2750, #2755, #2552 )
- (config-gen alpha command) update deps controller-runtime and k8s to be aligned with the project (#2739)
- (for all scaffolds and plugins) upgrade gcr.io/kubebuilder/kube-rbac-proxy from v0.11.0 to v0.12.0 (#2738)
- (go/v3) add support to go 1.18 update envtest version to use k8s 1.24 (#2714)
- (go/v3) upgrade envtest from 1.23 to 1.24.1 (#2713)
- (kustomize/v1, go/v3) : Add new LeaderElectionReleaseOnCancel as true option commented to let users know when they can use it (#2596)
- (declarative/v1) : Update the sigs.k8s.io/kubebuilder-declarative-pattern dep used for projects scaffolded from fea7e5cc701290589ec20ef4d9c0629d08b5307d to d0f104b6a96e152043e9c2d76229373a981ac96a (#2682)
- kubebuilder-tools since for darwin/arm64 (
kubebuilder-tools-1.24.1-darwin-arm64.tar.gz
) are now provided (see here). (#2762)
🐛 Bug Fixes
- (go/v2) fix the issue introduced by removing the GO111MODULE=on from Dockerfile (#2678)
📢 Deprecations
Legacy layout "Kubebuilder 2.x"
provided via go/v2
plugin is deprecated
Since 28 Apr 2021, the default layout produced by Kubebuilder changed and is done via the go/v3
.
Who is affected?
Only affects who has been scaffolding the projects with --plugins=go/v2
or built the project with Kubebuider 2.x
and did not migrate their project for Kubebuilder 3.x
(go/v3
).
Why this deprecation is required?
The go/v2
plugin cannot scaffold projects which use CRDs and/or Webhooks v1 API version. The go/v2
plugin produces scaffolds with the v1beta1 API version for CRDs and Webhooks which was deprecated in Kubernetes 1.16
and removed in 1.22
.
Note that this plugin was kept to ensure backwards compatibility with projects that were scaffolded with the old "Kubebuilder 2.x"
layout and does not properly work with the new plugin ecosystem that was introduced with Kubebuilder 3.0.0
More info.
What is recommended?
We encourage you to migrate your project. For further information check the Migration guide.
💡 You can check samples using this plugin by looking at the
project-v2
directory under the testdata on the root directory of the Kubebuilder project and compare with theproject-v3
to check the changes.
Notes:
⚠️ The flags--crd-version
and--webhook-version
provided viago/v3
plugin (default scaffold) are deprecated since kubebuilder release v3.3.0. #2340.We do not encourage you to use these options since projects produced with CRD/Webhooks v1beta1 version cannot work on Kubernetes clusters >=
1.22
and by using the API v1 (default scaffold when the flags are not used) you can produce projects which can work on K8s clusters >=1.16
.
Thanks to all our contributors!