Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update dependency kubernetes-sigs/kubebuilder to v4 #34

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 24, 2024

This PR contains the following updates:

Package Update Change
kubernetes-sigs/kubebuilder major v3.14.0 -> v4.2.0

Release Notes

kubernetes-sigs/kubebuilder (kubernetes-sigs/kubebuilder)

v4.2.0

Compare Source

changes since v4.1.1

⚠️ Important Notice:

The artefacts for ENVTEST from k8s 1.31 are exclusively available at: Controller Tools Releases. Kubebuilder no longer builds and promote the ENVTEST artefacts at the old location https://storage.googleapis.com/kubebuilder-tools which is deprecated and can no longer be ensured by Kubebuilder maintainers. You should ensure that your projects are using the new location. For further information, see: https://github.com/kubernetes-sigs/kubebuilder/discussions/4082

This update is fully transparent for Kubebuilder users assuming that they properly update their scaffolds to use setup-envtest from controller-runtime branch release-0.19.

# To know the available versions check: 
# - https://github.com/kubernetes-sigs/controller-tools/blob/main/envtest-releases.yaml
ENVTEST_K8S_VERSION = 1.31.0
# Controller-Runtime branch `release-0.19` has the implementation of the setup-envtest's code responsible
# for downloading the tarball from the correct location.
ENVTEST_VERSION ?= release-0.19

...
.PHONY: envtest
envtest: $(ENVTEST) ## Download setup-envtest locally if necessary.
$(ENVTEST): $(LOCALBIN)
	$(call go-install-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION))
✨ New Features
  • (go/v4, kustomize/v2): Add support to protect project with network policies (#​3853)
  • (go/v4): Add support to k8s 1.31 (#​4080)
  • (go/v4): Upgrading controller-runtime from v0.18.4 to v0.19.0 (#​4080)
  • (go/v4): Upgrading controller-tools from v0.15.0 to v0.16.1 (#​4080)
  • (go/v4, kustomize/v2): Upgrade kustomize from v5.4.2 to v5.4.3 (#​4084)
🐛 Bug Fixes
  • (go/v4): Add missing cancel context to controller's suite-test (#​4067)
  • ⚠️ (Only relevant for users of Kubebuilder as a library): ImplementWebhooks should only be used by the e2e tests and should be under its package. Therefore, this method is no longer served under pkg/plugin/util (#​4065)

What's Changed (Full Changelog)

New Contributors

Full Changelog: kubernetes-sigs/kubebuilder@v4.1.1...v4.2.0

v4.1.1

Compare Source

changes since v4.1.0

✨ New Features
  • (go/v4): Upgrade golangci-lint from v1.57.2 to v1.59.1 (#​4030)
  • (go/v4): makefile: create unversioned symlinks for configurable binaries tools (#​4013)
  • (kustomize/v2, go/v4): upgrade kustomize version from v5.4.1 to v5.4.2 (#​4029)
  • (Only relevant for users of Kubebuilder as a library): Add new CLI option and allow access to underlying CLI command (#​4011)
🐛 Bug Fixes
  • (go/v4): Fix security concerns by only enabling FilterProvider to protect the metrics endpoint with authn/authz when secureMetrics is true (#​4022)
  • (go/v4): Align Go Version in go.mod Template to 1.22.0 (#​4012)
  • (go/v4): Small cleanup in the main.go to keep all variables used defined on top of the file (#​4036)
  • (go/v4): Fix golang documentation of the method LoadImageToKindClusterWithName scaffold in the e2e tests (#​4034)
  • (go/v4): Fix validation used to ensure Kind versions pattern (#​3986)
  • (kustomize/v2, go/v4): Add missing labels for config/default/manager_webhook_patch.yaml (#​4028)

Note Based on the changes, it seems appropriate to release these updates as version 4.1.1 rather than 4.2.0. The new features are minor improvements which only affect new projects and do not introduce breaking changes or significant new functionality for existing users.

What's Changed (Full Changelog)

New Contributors

Full Changelog: kubernetes-sigs/kubebuilder@v4.1.0...v4.1.1

v4.1.0

Compare Source

changes since v4.0.0

✨ New Features

This protection is similar to what was previously done via kube-rbac-proxy, which usage was discontinued in the project. Please, ensure that you no longer use the image gcr.io/kubebuilder/kube-rbac-proxy. ⚠️ Images provided under gcr.io/kubebuilder/ will be unavailable from March 18, 2025.

  • Upgrade controller-runtime from v0.18.2 to v0.18.4 (#​3957) (#​3972)
  • Add revive golangci linter with comment-spacings rule (#​3960)
  • (Only relevant for users of Kubebuilder as a library) Allow usage of custom marker names (#​3993)

🐛 Bug Fixes

  • Corrected the generate command to respect the --namespaced=false flag for APIs. (#​3970)

🎉 Thanks to all our contributors!

What's Changed (Full Changelog)

New Contributors

Full Changelog: kubernetes-sigs/kubebuilder@v4.0.0...v4.1.0

v4.0.0

Compare Source

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:
(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: Compare testdata/project-v4 between tags v3.14.1 and v3.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 a v1 API version. Be aware that v1beta1 API for CRDs and Webhooks was deprecated on Kubernetes 1.16 and were removed in the Kubernetes 1.22+ release. Go versions higher than 1.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 versions v4x+ and cannot fully support Kubernetes 1.25+ and go versions higher than 1.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 from v0.17.3 to v0.18.2 (#​3912)
  • Upgrade kustomize from v5.3.0 to v5.4.1 by (#​3911)
  • Upgrade controller-tools from v0.14.0 to v0.15.0 (#​3913)
  • Upgrade EnvTest from 1.29.0 to 1.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)

New Contributors

Full Changelog: kubernetes-sigs/kubebuilder@v3.15.0...v4.0.0

v3.15.1

Compare Source

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)

Full Changelog: kubernetes-sigs/kubebuilder@v3.15.0...v3.15.1

v3.15.0

Compare Source

v3.15.0

changes since v3.14.2

⚠️ Breaking Changes

🎉 Thanks to all our contributors!

What's Changed (Full Changelog)

Full Changelog: kubernetes-sigs/kubebuilder@v3.14.2...v3.15.0

v3.14.2

Compare Source

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 of timeout in golangci-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)


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/kubernetes-sigs-kubebuilder-4.x branch from 25fa04b to bfed8a2 Compare July 5, 2024 11:06
@renovate renovate bot force-pushed the renovate/kubernetes-sigs-kubebuilder-4.x branch from bfed8a2 to bb6d667 Compare July 23, 2024 09:00
@renovate renovate bot force-pushed the renovate/kubernetes-sigs-kubebuilder-4.x branch from bb6d667 to 7d6f0a2 Compare August 17, 2024 10:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants