github kubernetes-sigs/kubebuilder v3.5.0

latest releases: v3.14.2, v3.14.1, v3.14.0...
22 months ago

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 the project-v3 to check the changes.

Notes:

⚠️ The flags --crd-version and --webhook-version provided via go/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!

Don't miss a new kubebuilder release

NewReleases is sending notifications on new releases.