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

✨ crd: allow specifying spec.preserveUnknownFields #912

Conversation

AlexanderYastrebov
Copy link
Contributor

@AlexanderYastrebov AlexanderYastrebov commented Apr 10, 2024

Reinstate crd:preserveUnknownFields option removed by #607 to allow specifying the value of deprecated spec.preserveUnknownFields CRD field.

This is useful for updating CRDs that were automatically converted from v1beta1 version which had true as a default value and resulted in:

$ kubectl get crd foo.bar -o yaml | grep preserveUnknownFields
  preserveUnknownFields: true
    message: 'spec.preserveUnknownFields: Invalid value: true: must be false'

For #476

@k8s-ci-robot k8s-ci-robot added do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. labels Apr 10, 2024
@k8s-ci-robot
Copy link
Contributor

Hi @AlexanderYastrebov. Thanks for your PR.

I'm waiting for a kubernetes-sigs member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Apr 10, 2024
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Apr 10, 2024
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Apr 10, 2024
Copy link
Member

@sbueringer sbueringer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense to me as the alternative seems to be that users have to modify the CRD objects manually

pkg/crd/gen_integration_test.go Show resolved Hide resolved
@sbueringer
Copy link
Member

Thx!

/ok-to-test

/lgtm

Let's see if someone else has an opinion on it

(cc @vincepri @alvaroaleman )

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Apr 11, 2024
@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 11, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 431701314f6e96c0be966ba20abd755f0b20f418

yes := true
gen := &crd.Generator{
CRDVersions: []string{"v1"},
PreserveUnknownFields: &yes,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't we disallow adding true for v1?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we don't support generating v1beta1 CRDs anymore, I think it's as easy as "always" disallowing true

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it really necessary? API server does not allow preserveUnknownFields: true anyway:

kubectl apply -f pkg/crd/testdata/gen/bar.example.com_foos.yaml
The CustomResourceDefinition "foos.bar.example.com" is invalid: 
* spec.preserveUnknownFields: Invalid value: true: must be false in order to use defaults in the schema
* spec.preserveUnknownFields: Invalid value: true: cannot set to true, set x-kubernetes-preserve-unknown-fields to true in spec.versions[*].schema instead

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we could let user specify true even though it is not supported but I added a check that prohibits that as suggested.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can still deploy a v1 CRD with the field set to true if the CRD was before created with v1beta1?

Yes

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me know if I should remove the check to allow true value.

Copy link
Member

@vincepri vincepri Apr 15, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a suggestion above to rename the exposed field and prevent a possible footgun for CRD authors

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me know if I should remove the check to allow true value.

Yup, we should allow true. Sorry I thought that v1 CRDs cannot be deployed with true

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed the check to allow true.

Reinstate crd:preserveUnknownFields option removed by kubernetes-sigs#607
to allow specifying the value of deprecated spec.preserveUnknownFields
CRD field.

This is useful for updating CRDs that were automatically converted from
v1beta1 version which had true as a default value and resulted in:
```
$ kubectl get crd foo.bar -o yaml | grep preserveUnknownFields
  preserveUnknownFields: true
    message: 'spec.preserveUnknownFields: Invalid value: true: must be false'
```

For kubernetes-sigs#476
@k8s-ci-robot k8s-ci-robot removed the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 15, 2024
@sbueringer
Copy link
Member

Thx!

/lgtm

/assign @vincepri

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 15, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: bbc4ac1924619bfe6adfb8dca50436695ea8912d

@sbueringer sbueringer added tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges. and removed lgtm "Looks good to me", indicates that a PR is ready to be merged. labels Apr 15, 2024
pkg/crd/gen.go Outdated Show resolved Hide resolved
@sbueringer
Copy link
Member

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Apr 16, 2024
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 44393af13c2f6c2c56d095f6eb888b8c5b1260da

@sbueringer
Copy link
Member

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: AlexanderYastrebov, sbueringer

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 19, 2024
@k8s-ci-robot k8s-ci-robot merged commit e159968 into kubernetes-sigs:master Apr 19, 2024
6 checks passed
@AlexanderYastrebov AlexanderYastrebov deleted the add-preserveUnknownFields branch April 19, 2024 10:25
renovate bot referenced this pull request in aenix-io/etcd-operator Apr 22, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [actions/checkout](https://togithub.com/actions/checkout) | action |
patch | `v4.1.1` -> `v4.1.3` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/actions%2fcheckout/v4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/actions%2fcheckout/v4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/actions%2fcheckout/v4.1.1/v4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/actions%2fcheckout/v4.1.1/v4.1.3?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [github.com/google/uuid](https://togithub.com/google/uuid) | require |
minor | `v1.3.1` -> `v1.6.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fgoogle%2fuuid/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/github.com%2fgoogle%2fuuid/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/github.com%2fgoogle%2fuuid/v1.3.1/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fgoogle%2fuuid/v1.3.1/v1.6.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [hugo-extended](https://togithub.com/jakejarvis/hugo-extended) |
devDependencies | patch | [`0.125.1` ->
`0.125.2`](https://renovatebot.com/diffs/npm/hugo-extended/0.125.1/0.125.2)
|
[![age](https://developer.mend.io/api/mc/badges/age/npm/hugo-extended/0.125.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/hugo-extended/0.125.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/hugo-extended/0.125.1/0.125.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/hugo-extended/0.125.1/0.125.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [k8s.io/client-go](https://togithub.com/kubernetes/client-go) |
require | minor | `v0.29.3` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/k8s.io%2fclient-go/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/k8s.io%2fclient-go/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/k8s.io%2fclient-go/v0.29.3/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/k8s.io%2fclient-go/v0.29.3/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[kubernetes-sigs/controller-tools](https://togithub.com/kubernetes-sigs/controller-tools)
| | minor | `v0.14.0` -> `v0.15.0` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/kubernetes-sigs%2fcontroller-tools/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/kubernetes-sigs%2fcontroller-tools/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/kubernetes-sigs%2fcontroller-tools/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/kubernetes-sigs%2fcontroller-tools/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

###
[`v4.1.3`](https://togithub.com/actions/checkout/releases/tag/v4.1.3)

[Compare
Source](https://togithub.com/actions/checkout/compare/v4.1.2...v4.1.3)

#### What's Changed

- Update `actions/checkout` version in `update-main-version.yml` by
[@&#8203;jww3](https://togithub.com/jww3) in
[https://github.com/actions/checkout/pull/1650](https://togithub.com/actions/checkout/pull/1650)
- Check git version before attempting to disable `sparse-checkout` by
[@&#8203;jww3](https://togithub.com/jww3) in
[https://github.com/actions/checkout/pull/1656](https://togithub.com/actions/checkout/pull/1656)
- Add SSH user parameter by
[@&#8203;cory-miller](https://togithub.com/cory-miller) in
[https://github.com/actions/checkout/pull/1685](https://togithub.com/actions/checkout/pull/1685)

**Full Changelog**:
actions/checkout@v4.1.2...v4.1.3

###
[`v4.1.2`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v412)

[Compare
Source](https://togithub.com/actions/checkout/compare/v4.1.1...v4.1.2)

- Fix: Disable sparse checkout whenever `sparse-checkout` option is not
present [@&#8203;dscho](https://togithub.com/dscho) in
[https://github.com/actions/checkout/pull/1598](https://togithub.com/actions/checkout/pull/1598)

</details>

<details>
<summary>google/uuid (github.com/google/uuid)</summary>

### [`v1.6.0`](https://togithub.com/google/uuid/releases/tag/v1.6.0)

[Compare
Source](https://togithub.com/google/uuid/compare/v1.5.0...v1.6.0)

##### Features

- add Max UUID constant
([#&#8203;149](https://togithub.com/google/uuid/issues/149))
([c58770e](https://togithub.com/google/uuid/commit/c58770eb495f55fe2ced6284f93c5158a62e53e3))

##### Bug Fixes

- fix typo in version 7 uuid documentation
([#&#8203;153](https://togithub.com/google/uuid/issues/153))
([016b199](https://togithub.com/google/uuid/commit/016b199544692f745ffc8867b914129ecb47ef06))
- Monotonicity in UUIDv7
([#&#8203;150](https://togithub.com/google/uuid/issues/150))
([a2b2b32](https://togithub.com/google/uuid/commit/a2b2b32373ff0b1a312b7fdf6d38a977099698a6))

### [`v1.5.0`](https://togithub.com/google/uuid/releases/tag/v1.5.0)

[Compare
Source](https://togithub.com/google/uuid/compare/v1.4.0...v1.5.0)

##### Features

- Validate UUID without creating new UUID
([#&#8203;141](https://togithub.com/google/uuid/issues/141))
([9ee7366](https://togithub.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29))

### [`v1.4.0`](https://togithub.com/google/uuid/releases/tag/v1.4.0)

[Compare
Source](https://togithub.com/google/uuid/compare/v1.3.1...v1.4.0)

##### Features

- UUIDs slice type with Strings() convenience method
([#&#8203;133](https://togithub.com/google/uuid/issues/133))
([cd5fbbd](https://togithub.com/google/uuid/commit/cd5fbbdd02f3e3467ac18940e07e062be1f864b4))

##### Fixes

- Clarify that Parse's job is to parse but not necessarily validate
strings. (Documents current behavior)

</details>

<details>
<summary>jakejarvis/hugo-extended (hugo-extended)</summary>

###
[`v0.125.2`](https://togithub.com/jakejarvis/hugo-extended/compare/v0.125.1...v0.125.2)

[Compare
Source](https://togithub.com/jakejarvis/hugo-extended/compare/v0.125.1...v0.125.2)

</details>

<details>
<summary>kubernetes/client-go (k8s.io/client-go)</summary>

###
[`v0.30.0`](https://togithub.com/kubernetes/client-go/compare/v0.29.4...v0.30.0)

[Compare
Source](https://togithub.com/kubernetes/client-go/compare/v0.29.4...v0.30.0)

###
[`v0.29.4`](https://togithub.com/kubernetes/client-go/compare/v0.29.3...v0.29.4)

[Compare
Source](https://togithub.com/kubernetes/client-go/compare/v0.29.3...v0.29.4)

</details>

<details>
<summary>kubernetes-sigs/controller-tools
(kubernetes-sigs/controller-tools)</summary>

###
[`v0.15.0`](https://togithub.com/kubernetes-sigs/controller-tools/releases/tag/v0.15.0)

[Compare
Source](https://togithub.com/kubernetes-sigs/controller-tools/compare/v0.14.0...v0.15.0)

#### What's Changed

- ✨ Markers can now indicate their priority when applying by
[@&#8203;dprotaso](https://togithub.com/dprotaso) in
[https://github.com/kubernetes-sigs/controller-tools/pull/706](https://togithub.com/kubernetes-sigs/controller-tools/pull/706)
- ✨ crd: support validating internal list items on list types
by [@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov)
in
[https://github.com/kubernetes-sigs/controller-tools/pull/898](https://togithub.com/kubernetes-sigs/controller-tools/pull/898)
- ✨ crd: allow specifying spec.preserveUnknownFields by
[@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov) in
[https://github.com/kubernetes-sigs/controller-tools/pull/912](https://togithub.com/kubernetes-sigs/controller-tools/pull/912)
- ✨ crd: add messageExpression support to XValidation marker by
[@&#8203;pmalek](https://togithub.com/pmalek) in
[https://github.com/kubernetes-sigs/controller-tools/pull/927](https://togithub.com/kubernetes-sigs/controller-tools/pull/927)
- ✨ Fix deprecations by [@&#8203;zchee](https://togithub.com/zchee) in
[https://github.com/kubernetes-sigs/controller-tools/pull/882](https://togithub.com/kubernetes-sigs/controller-tools/pull/882)
- 🌱 Update golangci-lint, Makefile, Actions by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/902](https://togithub.com/kubernetes-sigs/controller-tools/pull/902)

#### envtest

- ✨ Build and publish Kubernetes envtest tools as packages by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/906](https://togithub.com/kubernetes-sigs/controller-tools/pull/906)
- ✨ Add github action to package envtest binaries in releases by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/908](https://togithub.com/kubernetes-sigs/controller-tools/pull/908)
- 🌱 Adjust branches for github actions by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/918](https://togithub.com/kubernetes-sigs/controller-tools/pull/918)
- 🌱 Automatically release, fixup selfLink in camelCase by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/921](https://togithub.com/kubernetes-sigs/controller-tools/pull/921)
- ✨ Release envtest v1.28.0 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/919](https://togithub.com/kubernetes-sigs/controller-tools/pull/919)
- 🌱 Promotion of envtest release for Kubernetes v1.28.0 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/920](https://togithub.com/kubernetes-sigs/controller-tools/pull/920)
- ✨ Release envtest-v1.29.4 by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/922](https://togithub.com/kubernetes-sigs/controller-tools/pull/922)
- 🌱 Promotion of envtest release for Kubernetes v1.29.4 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/923](https://togithub.com/kubernetes-sigs/controller-tools/pull/923)
- ✨ Release envtest v1.30.0 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/924](https://togithub.com/kubernetes-sigs/controller-tools/pull/924)
- 🌱 Promotion of envtest release for Kubernetes v1.30.0 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/925](https://togithub.com/kubernetes-sigs/controller-tools/pull/925)

#### Dependency bumps

- 🌱 Bump go version from 1.20 to 1.21 by
[@&#8203;SuperSandro2000](https://togithub.com/SuperSandro2000) in
[https://github.com/kubernetes-sigs/controller-tools/pull/881](https://togithub.com/kubernetes-sigs/controller-tools/pull/881)
- ⚠️Bump k/k to v1.30.0-rc.1 & Go to 1.22 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/901](https://togithub.com/kubernetes-sigs/controller-tools/pull/901)
- ⚠ Bump to k8s.io/\* v1.30 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/926](https://togithub.com/kubernetes-sigs/controller-tools/pull/926)
- 🌱 Bump golang.org/x/tools from 0.16.1 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/874](https://togithub.com/kubernetes-sigs/controller-tools/pull/874)
- 🌱 Bump github.com/onsi/gomega from 1.30.0 to 1.31.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/876](https://togithub.com/kubernetes-sigs/controller-tools/pull/876)
- 🌱 Bump golang.org/x/tools from 0.17.0 to 0.18.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/885](https://togithub.com/kubernetes-sigs/controller-tools/pull/885)
- 🌱 Bump golang.org/x/tools from 0.18.0 to 0.19.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/891](https://togithub.com/kubernetes-sigs/controller-tools/pull/891)
- 🌱 Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/895](https://togithub.com/kubernetes-sigs/controller-tools/pull/895)
- 🌱 Bump golang.org/x/tools from 0.19.0 to 0.20.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/904](https://togithub.com/kubernetes-sigs/controller-tools/pull/904)
- 🌱 Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/915](https://togithub.com/kubernetes-sigs/controller-tools/pull/915)
- 🌱 Bump tj-actions/changed-files from 44.0.0 to 44.0.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/916](https://togithub.com/kubernetes-sigs/controller-tools/pull/916)
- 🌱 Bump tj-actions/changed-files from 44.0.1 to 44.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/929](https://togithub.com/kubernetes-sigs/controller-tools/pull/929)
- 🌱 Bump github.com/onsi/gomega from 1.32.0 to 1.33.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/931](https://togithub.com/kubernetes-sigs/controller-tools/pull/931)
- 🌱 Bump actions/checkout from 4.1.2 to 4.1.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/930](https://togithub.com/kubernetes-sigs/controller-tools/pull/930)

#### New Contributors

- [@&#8203;dprotaso](https://togithub.com/dprotaso) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/706](https://togithub.com/kubernetes-sigs/controller-tools/pull/706)
- [@&#8203;SuperSandro2000](https://togithub.com/SuperSandro2000) made
their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/881](https://togithub.com/kubernetes-sigs/controller-tools/pull/881)
- [@&#8203;zchee](https://togithub.com/zchee) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/882](https://togithub.com/kubernetes-sigs/controller-tools/pull/882)
- [@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov)
made their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/898](https://togithub.com/kubernetes-sigs/controller-tools/pull/898)
- [@&#8203;github-actions](https://togithub.com/github-actions) made
their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/920](https://togithub.com/kubernetes-sigs/controller-tools/pull/920)
- [@&#8203;pmalek](https://togithub.com/pmalek) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/927](https://togithub.com/kubernetes-sigs/controller-tools/pull/927)

**Full Changelog**:
kubernetes-sigs/controller-tools@v0.14.0...v0.15.0

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/aenix-io/etcd-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMDEuNCIsInVwZGF0ZWRJblZlciI6IjM3LjMxMy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJvay10by10ZXN0Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hidden Marten <hiddenmarten@gmail.com>
hiddenmarten referenced this pull request in aenix-io/etcd-operator Apr 27, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change | Age | Adoption | Passing |
Confidence |
|---|---|---|---|---|---|---|---|
| [actions/checkout](https://togithub.com/actions/checkout) | action |
patch | `v4.1.3` -> `v4.1.4` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/actions%2fcheckout/v4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/actions%2fcheckout/v4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/actions%2fcheckout/v4.1.3/v4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/actions%2fcheckout/v4.1.3/v4.1.4?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [jetstack/cert-manager](https://togithub.com/jetstack/cert-manager) |
| patch | `v1.14.4` -> `v1.14.5` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/jetstack%2fcert-manager/v1.14.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/jetstack%2fcert-manager/v1.14.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/jetstack%2fcert-manager/v1.14.4/v1.14.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/jetstack%2fcert-manager/v1.14.4/v1.14.5?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
| [k8s.io/client-go](https://togithub.com/kubernetes/client-go) |
require | minor | `v0.29.3` -> `v0.30.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/k8s.io%2fclient-go/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/k8s.io%2fclient-go/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/k8s.io%2fclient-go/v0.29.3/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/k8s.io%2fclient-go/v0.29.3/v0.30.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[kubernetes-sigs/controller-tools](https://togithub.com/kubernetes-sigs/controller-tools)
| | minor | `v0.14.0` -> `v0.15.0` |
[![age](https://developer.mend.io/api/mc/badges/age/github-tags/kubernetes-sigs%2fcontroller-tools/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/github-tags/kubernetes-sigs%2fcontroller-tools/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/github-tags/kubernetes-sigs%2fcontroller-tools/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/github-tags/kubernetes-sigs%2fcontroller-tools/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
|
[sigs.k8s.io/controller-runtime](https://togithub.com/kubernetes-sigs/controller-runtime)
| require | minor | `v0.17.3` -> `v0.18.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/sigs.k8s.io%2fcontroller-runtime/v0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/sigs.k8s.io%2fcontroller-runtime/v0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/sigs.k8s.io%2fcontroller-runtime/v0.17.3/v0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/sigs.k8s.io%2fcontroller-runtime/v0.17.3/v0.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

###
[`v4.1.4`](https://togithub.com/actions/checkout/blob/HEAD/CHANGELOG.md#v414)

[Compare
Source](https://togithub.com/actions/checkout/compare/v4.1.3...v4.1.4)

- Disable `extensions.worktreeConfig` when disabling `sparse-checkout`
by [@&#8203;jww3](https://togithub.com/jww3) in
[https://github.com/actions/checkout/pull/1692](https://togithub.com/actions/checkout/pull/1692)
- Add dependabot config by
[@&#8203;cory-miller](https://togithub.com/cory-miller) in
[https://github.com/actions/checkout/pull/1688](https://togithub.com/actions/checkout/pull/1688)
- Bump the minor-actions-dependencies group with 2 updates by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/actions/checkout/pull/1693](https://togithub.com/actions/checkout/pull/1693)
- Bump word-wrap from 1.2.3 to 1.2.5 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/actions/checkout/pull/1643](https://togithub.com/actions/checkout/pull/1643)

</details>

<details>
<summary>jetstack/cert-manager (jetstack/cert-manager)</summary>

###
[`v1.14.5`](https://togithub.com/cert-manager/cert-manager/releases/tag/v1.14.5)

[Compare
Source](https://togithub.com/jetstack/cert-manager/compare/v1.14.4...v1.14.5)

cert-manager is the easiest way to automatically manage certificates in
Kubernetes and OpenShift clusters.

`v1.14.5` fixes a bug in the DigitalOcean DNS-01 provider which could
cause incorrect DNS records to be deleted when using a domain with a
CNAME. Special thanks to
[@&#8203;BobyMCbobs](https://togithub.com/BobyMCbobs) for reporting this
issue and testing the fix!

It also patches CVE-2023-45288.

#### Known Issues

- ACME Issuer (Let's Encrypt): wrong certificate chain may be used if
`preferredChain` is configured: see [1.14 release
notes](./release-notes-1.14.md#known-issues) for more information.

#### Changes

##### Bug or Regression

- DigitalOcean: Ensure that only TXT records are considered for deletion
when cleaning up after an ACME challenge
([#&#8203;6893](https://togithub.com/jetstack/cert-manager/issues/6893)
, [@&#8203;SgtCoDFish](https://togithub.com/SgtCoDFish))
- Bump golang.org/x/net to address
[CVE-2023-45288](https://nvd.nist.gov/vuln/detail/CVE-2023-45288)
([#&#8203;6931](https://togithub.com/jetstack/cert-manager/issues/6931)
, [@&#8203;SgtCoDFish](https://togithub.com/SgtCoDFish))

</details>

<details>
<summary>kubernetes/client-go (k8s.io/client-go)</summary>

###
[`v0.30.0`](https://togithub.com/kubernetes/client-go/compare/v0.29.4...v0.30.0)

[Compare
Source](https://togithub.com/kubernetes/client-go/compare/v0.29.4...v0.30.0)

###
[`v0.29.4`](https://togithub.com/kubernetes/client-go/compare/v0.29.3...v0.29.4)

[Compare
Source](https://togithub.com/kubernetes/client-go/compare/v0.29.3...v0.29.4)

</details>

<details>
<summary>kubernetes-sigs/controller-tools
(kubernetes-sigs/controller-tools)</summary>

###
[`v0.15.0`](https://togithub.com/kubernetes-sigs/controller-tools/releases/tag/v0.15.0)

[Compare
Source](https://togithub.com/kubernetes-sigs/controller-tools/compare/v0.14.0...v0.15.0)

#### What's Changed

- ✨ Markers can now indicate their priority when applying by
[@&#8203;dprotaso](https://togithub.com/dprotaso) in
[https://github.com/kubernetes-sigs/controller-tools/pull/706](https://togithub.com/kubernetes-sigs/controller-tools/pull/706)
- ✨ crd: support validating internal list items on list types
by [@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov)
in
[https://github.com/kubernetes-sigs/controller-tools/pull/898](https://togithub.com/kubernetes-sigs/controller-tools/pull/898)
- ✨ crd: allow specifying spec.preserveUnknownFields by
[@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov) in
[https://github.com/kubernetes-sigs/controller-tools/pull/912](https://togithub.com/kubernetes-sigs/controller-tools/pull/912)
- ✨ crd: add messageExpression support to XValidation marker by
[@&#8203;pmalek](https://togithub.com/pmalek) in
[https://github.com/kubernetes-sigs/controller-tools/pull/927](https://togithub.com/kubernetes-sigs/controller-tools/pull/927)
- ✨ Fix deprecations by [@&#8203;zchee](https://togithub.com/zchee) in
[https://github.com/kubernetes-sigs/controller-tools/pull/882](https://togithub.com/kubernetes-sigs/controller-tools/pull/882)
- 🌱 Update golangci-lint, Makefile, Actions by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/902](https://togithub.com/kubernetes-sigs/controller-tools/pull/902)

#### envtest

- ✨ Build and publish Kubernetes envtest tools as packages by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/906](https://togithub.com/kubernetes-sigs/controller-tools/pull/906)
- ✨ Add github action to package envtest binaries in releases by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/908](https://togithub.com/kubernetes-sigs/controller-tools/pull/908)
- 🌱 Adjust branches for github actions by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/918](https://togithub.com/kubernetes-sigs/controller-tools/pull/918)
- 🌱 Automatically release, fixup selfLink in camelCase by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/921](https://togithub.com/kubernetes-sigs/controller-tools/pull/921)
- ✨ Release envtest v1.28.0 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/919](https://togithub.com/kubernetes-sigs/controller-tools/pull/919)
- 🌱 Promotion of envtest release for Kubernetes v1.28.0 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/920](https://togithub.com/kubernetes-sigs/controller-tools/pull/920)
- ✨ Release envtest-v1.29.4 by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/922](https://togithub.com/kubernetes-sigs/controller-tools/pull/922)
- 🌱 Promotion of envtest release for Kubernetes v1.29.4 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/923](https://togithub.com/kubernetes-sigs/controller-tools/pull/923)
- ✨ Release envtest v1.30.0 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/924](https://togithub.com/kubernetes-sigs/controller-tools/pull/924)
- 🌱 Promotion of envtest release for Kubernetes v1.30.0 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/925](https://togithub.com/kubernetes-sigs/controller-tools/pull/925)

#### Dependency bumps

- 🌱 Bump go version from 1.20 to 1.21 by
[@&#8203;SuperSandro2000](https://togithub.com/SuperSandro2000) in
[https://github.com/kubernetes-sigs/controller-tools/pull/881](https://togithub.com/kubernetes-sigs/controller-tools/pull/881)
- ⚠️Bump k/k to v1.30.0-rc.1 & Go to 1.22 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/901](https://togithub.com/kubernetes-sigs/controller-tools/pull/901)
- ⚠ Bump to k8s.io/\* v1.30 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/926](https://togithub.com/kubernetes-sigs/controller-tools/pull/926)
- 🌱 Bump golang.org/x/tools from 0.16.1 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/874](https://togithub.com/kubernetes-sigs/controller-tools/pull/874)
- 🌱 Bump github.com/onsi/gomega from 1.30.0 to 1.31.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/876](https://togithub.com/kubernetes-sigs/controller-tools/pull/876)
- 🌱 Bump golang.org/x/tools from 0.17.0 to 0.18.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/885](https://togithub.com/kubernetes-sigs/controller-tools/pull/885)
- 🌱 Bump golang.org/x/tools from 0.18.0 to 0.19.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/891](https://togithub.com/kubernetes-sigs/controller-tools/pull/891)
- 🌱 Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/895](https://togithub.com/kubernetes-sigs/controller-tools/pull/895)
- 🌱 Bump golang.org/x/tools from 0.19.0 to 0.20.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/904](https://togithub.com/kubernetes-sigs/controller-tools/pull/904)
- 🌱 Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/915](https://togithub.com/kubernetes-sigs/controller-tools/pull/915)
- 🌱 Bump tj-actions/changed-files from 44.0.0 to 44.0.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/916](https://togithub.com/kubernetes-sigs/controller-tools/pull/916)
- 🌱 Bump tj-actions/changed-files from 44.0.1 to 44.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/929](https://togithub.com/kubernetes-sigs/controller-tools/pull/929)
- 🌱 Bump github.com/onsi/gomega from 1.32.0 to 1.33.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/931](https://togithub.com/kubernetes-sigs/controller-tools/pull/931)
- 🌱 Bump actions/checkout from 4.1.2 to 4.1.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/930](https://togithub.com/kubernetes-sigs/controller-tools/pull/930)

#### New Contributors

- [@&#8203;dprotaso](https://togithub.com/dprotaso) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/706](https://togithub.com/kubernetes-sigs/controller-tools/pull/706)
- [@&#8203;SuperSandro2000](https://togithub.com/SuperSandro2000) made
their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/881](https://togithub.com/kubernetes-sigs/controller-tools/pull/881)
- [@&#8203;zchee](https://togithub.com/zchee) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/882](https://togithub.com/kubernetes-sigs/controller-tools/pull/882)
- [@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov)
made their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/898](https://togithub.com/kubernetes-sigs/controller-tools/pull/898)
- [@&#8203;github-actions](https://togithub.com/github-actions) made
their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/920](https://togithub.com/kubernetes-sigs/controller-tools/pull/920)
- [@&#8203;pmalek](https://togithub.com/pmalek) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/927](https://togithub.com/kubernetes-sigs/controller-tools/pull/927)

**Full Changelog**:
kubernetes-sigs/controller-tools@v0.14.0...v0.15.0

</details>

<details>
<summary>kubernetes-sigs/controller-runtime
(sigs.k8s.io/controller-runtime)</summary>

###
[`v0.18.0`](https://togithub.com/kubernetes-sigs/controller-runtime/releases/tag/v0.18.0)

[Compare
Source](https://togithub.com/kubernetes-sigs/controller-runtime/compare/v0.17.3...v0.18.0)

#### ⚠️ Breaking Changes

- Bump to k8s.io/\* v1.30
([#&#8203;2693](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2693)
[#&#8203;2754](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2754)
[#&#8203;2765](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2765)
[#&#8203;2776](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2776)
[#&#8203;2786](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2786))
- Remove deprecated v1alpha1.ControllerManagerConfiguration
([#&#8203;2648](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2648))
- admission.Decoder is now an interface
([#&#8203;2736](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2736))
- Source, Event, Predicate, Handler: Add generics support
([#&#8203;2783](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2783)
[#&#8203;2796](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2796))
- client: Fix SubResourceCreateOptions signature in subresource client
([#&#8203;2766](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2766))

#### ✨ New Features

- cache: Add TransformStripManagedFields transform func
([#&#8203;2791](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2791))
- client: Add client.WithFieldOwner to configure client-wide
FieldManager
([#&#8203;2771](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2771)
[#&#8203;2777](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2777))
- controller: Add `NewQueue` option
([#&#8203;2767](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2767))
- manager: Export HTTP server runnable implementation
([#&#8203;2473](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2473))
- metrics/server: Add `ListenConfig` option
([#&#8203;2519](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2519))

#### 🐛 Bug Fixes

- builder/webhook: Return error if For() is used multiple times
([#&#8203;2740](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2740))
- cache: Keep selectors when byObject.Namespaces is defaulted
([#&#8203;2747](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2747))
- cache: Prevent race when informers are started more than once
([#&#8203;2758](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2758))
- fake client: Allow fakeclient to patch CR with no resourceVersion
([#&#8203;2725](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2725))
- fake client: Do not consider an apply patch to be a strategic merge
patch
([#&#8203;2679](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2679))
- manager: Prevent leader election when shutting down a non-elected
manager
([#&#8203;2724](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2724))
- manager: Runnable group should check if stopped before enqueueing
([#&#8203;2757](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2757))
- restmapper: Clean restmapper cache if a version is notFound
([#&#8203;2663](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2663))
- restmapper: Fix cache invalidation
([#&#8203;2687](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2687))

#### 🌱 Others

- ci: Add OSSF scorecard action
([#&#8203;2714](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2714))
- ci: Improve github actions dependencies versions and permissions
([#&#8203;2715](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2715))
- ci: Pin checkout action in golangci-lint action, bump checkout action,
use consistent tag format
([#&#8203;2729](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2729))
- ci: Update golangci-lint to v1.57.2
([#&#8203;2708](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2708)
[#&#8203;2751](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2751))
- ci: Update scorecard github action
([#&#8203;2728](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2728))
- ci: Use go-install for versioned dependencies
([#&#8203;2710](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2710))
- envtest: WaitForDefaultNamespace while starting up envtest
([#&#8203;2668](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2668))
- owners: Cleanup owners files
([#&#8203;2730](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2730))
- owners: Remove outdated testing framework approvers
([#&#8203;2709](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2709))
- predicate: Compare labels and annotations using maps.Equal
([#&#8203;2705](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2705))
- typos: Fix typo of CacheReader comment
([#&#8203;2773](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2773))
- typos: Fix typo in channel option
([#&#8203;2792](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2792))
- typos: Minor typo fixes in docstrings
([#&#8203;2727](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2727))

:book: Additionally, there have been 3 contributions to our
documentation and book.
([#&#8203;2712](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2712),
[#&#8203;2770](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2770),
[#&#8203;2789](https://togithub.com/kubernetes-sigs/controller-runtime/issues/2789))

#### Dependencies

##### Added

- github.com/fxamacker/cbor/v2:
[v2.6.0](https://togithub.com/fxamacker/cbor/tree/v2.6.0)
- github.com/x448/float16:
[v0.8.4](https://togithub.com/x448/float16/tree/v0.8.4)
- golang.org/x/telemetry:
[`b75ee88`](https://togithub.com/kubernetes-sigs/controller-runtime/commit/b75ee88)
- k8s.io/gengo/v2:
[`51d4e06`](https://togithub.com/kubernetes-sigs/controller-runtime/commit/51d4e06)

##### Changed

- github.com/evanphx/json-patch/v5: [v5.8.0 →
v5.9.0](https://togithub.com/evanphx/json-patch/compare/v5.8.0...v5.9.0)
- github.com/golang/protobuf: [v1.5.3 →
v1.5.4](https://togithub.com/golang/protobuf/compare/v1.5.3...v1.5.4)
- github.com/google/cel-go: [v0.17.7 →
v0.17.8](https://togithub.com/google/cel-go/compare/v0.17.7...v0.17.8)
- github.com/onsi/ginkgo/v2: [v2.14.0 →
v2.17.1](https://togithub.com/onsi/ginkgo/compare/v2.14.0...v2.17.1)
- github.com/onsi/gomega: [v1.30.0 →
v1.32.0](https://togithub.com/onsi/gomega/compare/v1.30.0...v1.32.0)
- github.com/prometheus/client_golang: [v1.18.0 →
v1.16.0](https://togithub.com/prometheus/client_golang/compare/v1.18.0...v1.16.0)
- github.com/prometheus/client_model: [v0.5.0 →
v0.4.0](https://togithub.com/prometheus/client_model/compare/v0.5.0...v0.4.0)
- github.com/prometheus/common: [v0.45.0 →
v0.44.0](https://togithub.com/prometheus/common/compare/v0.45.0...v0.44.0)
-   golang.org/x/crypto: v0.16.0 → v0.21.0
-   golang.org/x/mod: v0.14.0 → v0.15.0
-   golang.org/x/net: v0.19.0 → v0.23.0
-   golang.org/x/sync: v0.5.0 → v0.6.0
-   golang.org/x/sys: v0.16.0 → v0.18.0
-   golang.org/x/term: v0.15.0 → v0.18.0
-   golang.org/x/tools: v0.16.1 → v0.18.0
-   google.golang.org/protobuf: v1.31.0 → v1.33.0
-   k8s.io/api: v0.29.0 → v0.30.0
-   k8s.io/apiextensions-apiserver: v0.29.0 → v0.30.0
-   k8s.io/apimachinery: v0.29.0 → v0.30.0
-   k8s.io/apiserver: v0.29.0 → v0.30.0
-   k8s.io/client-go: v0.29.0 → v0.30.0
-   k8s.io/code-generator: v0.29.0 → v0.30.0
-   k8s.io/component-base: v0.29.0 → v0.30.0
-   k8s.io/klog/v2: v2.110.1 → v2.120.1
-   k8s.io/kms: v0.29.0 → v0.30.0
- k8s.io/kube-openapi:
[`2dd684a`](https://togithub.com/kubernetes-sigs/controller-runtime/commit/2dd684a)
→
[`70dd376`](https://togithub.com/kubernetes-sigs/controller-runtime/commit/70dd376)
- sigs.k8s.io/apiserver-network-proxy/konnectivity-client: v0.28.0 →
v0.29.0
-   sigs.k8s.io/yaml: v1.4.0 → v1.3.0

##### Removed

- github.com/matttproud/golang_protobuf_extensions/v2:
[v2.0.0](https://togithub.com/matttproud/golang_protobuf_extensions/tree/v2.0.0)
-   go.uber.org/atomic: v1.10.0
- k8s.io/gengo:
[`9cce18d`](https://togithub.com/kubernetes-sigs/controller-runtime/commit/9cce18d)

*Thanks to all our contributors!* 😊

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

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

👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config help](https://togithub.com/renovatebot/renovate/discussions) if
that's undesired.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/aenix-io/etcd-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zMjEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjMyMS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJvay10by10ZXN0Il19-->

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Hidden Marten <hiddenmarten@gmail.com>
renovate bot referenced this pull request in anza-labs/lke-operator May 12, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
|
[sigs.k8s.io/controller-tools](https://togithub.com/kubernetes-sigs/controller-tools)
| `v0.14.0` -> `v0.15.0` |
[![age](https://developer.mend.io/api/mc/badges/age/go/sigs.k8s.io%2fcontroller-tools/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/go/sigs.k8s.io%2fcontroller-tools/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/go/sigs.k8s.io%2fcontroller-tools/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/go/sigs.k8s.io%2fcontroller-tools/v0.14.0/v0.15.0?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>kubernetes-sigs/controller-tools
(sigs.k8s.io/controller-tools)</summary>

###
[`v0.15.0`](https://togithub.com/kubernetes-sigs/controller-tools/releases/tag/v0.15.0)

[Compare
Source](https://togithub.com/kubernetes-sigs/controller-tools/compare/v0.14.0...v0.15.0)

#### What's Changed

- ✨ Markers can now indicate their priority when applying by
[@&#8203;dprotaso](https://togithub.com/dprotaso) in
[https://github.com/kubernetes-sigs/controller-tools/pull/706](https://togithub.com/kubernetes-sigs/controller-tools/pull/706)
- ✨ crd: support validating internal list items on list types
by [@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov)
in
[https://github.com/kubernetes-sigs/controller-tools/pull/898](https://togithub.com/kubernetes-sigs/controller-tools/pull/898)
- ✨ crd: allow specifying spec.preserveUnknownFields by
[@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov) in
[https://github.com/kubernetes-sigs/controller-tools/pull/912](https://togithub.com/kubernetes-sigs/controller-tools/pull/912)
- ✨ crd: add messageExpression support to XValidation marker by
[@&#8203;pmalek](https://togithub.com/pmalek) in
[https://github.com/kubernetes-sigs/controller-tools/pull/927](https://togithub.com/kubernetes-sigs/controller-tools/pull/927)
- ✨ Fix deprecations by [@&#8203;zchee](https://togithub.com/zchee) in
[https://github.com/kubernetes-sigs/controller-tools/pull/882](https://togithub.com/kubernetes-sigs/controller-tools/pull/882)
- 🌱 Update golangci-lint, Makefile, Actions by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/902](https://togithub.com/kubernetes-sigs/controller-tools/pull/902)

#### envtest

- ✨ Build and publish Kubernetes envtest tools as packages by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/906](https://togithub.com/kubernetes-sigs/controller-tools/pull/906)
- ✨ Add github action to package envtest binaries in releases by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/908](https://togithub.com/kubernetes-sigs/controller-tools/pull/908)
- 🌱 Adjust branches for github actions by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/918](https://togithub.com/kubernetes-sigs/controller-tools/pull/918)
- 🌱 Automatically release, fixup selfLink in camelCase by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/921](https://togithub.com/kubernetes-sigs/controller-tools/pull/921)
- ✨ Release envtest v1.28.0 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/919](https://togithub.com/kubernetes-sigs/controller-tools/pull/919)
- 🌱 Promotion of envtest release for Kubernetes v1.28.0 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/920](https://togithub.com/kubernetes-sigs/controller-tools/pull/920)
- ✨ Release envtest-v1.29.4 by
[@&#8203;vincepri](https://togithub.com/vincepri) in
[https://github.com/kubernetes-sigs/controller-tools/pull/922](https://togithub.com/kubernetes-sigs/controller-tools/pull/922)
- 🌱 Promotion of envtest release for Kubernetes v1.29.4 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/923](https://togithub.com/kubernetes-sigs/controller-tools/pull/923)
- ✨ Release envtest v1.30.0 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/924](https://togithub.com/kubernetes-sigs/controller-tools/pull/924)
- 🌱 Promotion of envtest release for Kubernetes v1.30.0 by
[@&#8203;github-actions](https://togithub.com/github-actions) in
[https://github.com/kubernetes-sigs/controller-tools/pull/925](https://togithub.com/kubernetes-sigs/controller-tools/pull/925)

#### Dependency bumps

- 🌱 Bump go version from 1.20 to 1.21 by
[@&#8203;SuperSandro2000](https://togithub.com/SuperSandro2000) in
[https://github.com/kubernetes-sigs/controller-tools/pull/881](https://togithub.com/kubernetes-sigs/controller-tools/pull/881)
- ⚠️Bump k/k to v1.30.0-rc.1 & Go to 1.22 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/901](https://togithub.com/kubernetes-sigs/controller-tools/pull/901)
- ⚠ Bump to k8s.io/\* v1.30 by
[@&#8203;sbueringer](https://togithub.com/sbueringer) in
[https://github.com/kubernetes-sigs/controller-tools/pull/926](https://togithub.com/kubernetes-sigs/controller-tools/pull/926)
- 🌱 Bump golang.org/x/tools from 0.16.1 to 0.17.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/874](https://togithub.com/kubernetes-sigs/controller-tools/pull/874)
- 🌱 Bump github.com/onsi/gomega from 1.30.0 to 1.31.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/876](https://togithub.com/kubernetes-sigs/controller-tools/pull/876)
- 🌱 Bump golang.org/x/tools from 0.17.0 to 0.18.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/885](https://togithub.com/kubernetes-sigs/controller-tools/pull/885)
- 🌱 Bump golang.org/x/tools from 0.18.0 to 0.19.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/891](https://togithub.com/kubernetes-sigs/controller-tools/pull/891)
- 🌱 Bump github.com/onsi/gomega from 1.31.1 to 1.32.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/895](https://togithub.com/kubernetes-sigs/controller-tools/pull/895)
- 🌱 Bump golang.org/x/tools from 0.19.0 to 0.20.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/904](https://togithub.com/kubernetes-sigs/controller-tools/pull/904)
- 🌱 Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/915](https://togithub.com/kubernetes-sigs/controller-tools/pull/915)
- 🌱 Bump tj-actions/changed-files from 44.0.0 to 44.0.1 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/916](https://togithub.com/kubernetes-sigs/controller-tools/pull/916)
- 🌱 Bump tj-actions/changed-files from 44.0.1 to 44.3.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/929](https://togithub.com/kubernetes-sigs/controller-tools/pull/929)
- 🌱 Bump github.com/onsi/gomega from 1.32.0 to 1.33.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/931](https://togithub.com/kubernetes-sigs/controller-tools/pull/931)
- 🌱 Bump actions/checkout from 4.1.2 to 4.1.3 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[https://github.com/kubernetes-sigs/controller-tools/pull/930](https://togithub.com/kubernetes-sigs/controller-tools/pull/930)

#### New Contributors

- [@&#8203;dprotaso](https://togithub.com/dprotaso) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/706](https://togithub.com/kubernetes-sigs/controller-tools/pull/706)
- [@&#8203;SuperSandro2000](https://togithub.com/SuperSandro2000) made
their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/881](https://togithub.com/kubernetes-sigs/controller-tools/pull/881)
- [@&#8203;zchee](https://togithub.com/zchee) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/882](https://togithub.com/kubernetes-sigs/controller-tools/pull/882)
- [@&#8203;AlexanderYastrebov](https://togithub.com/AlexanderYastrebov)
made their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/898](https://togithub.com/kubernetes-sigs/controller-tools/pull/898)
- [@&#8203;github-actions](https://togithub.com/github-actions) made
their first contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/920](https://togithub.com/kubernetes-sigs/controller-tools/pull/920)
- [@&#8203;pmalek](https://togithub.com/pmalek) made their first
contribution in
[https://github.com/kubernetes-sigs/controller-tools/pull/927](https://togithub.com/kubernetes-sigs/controller-tools/pull/927)

**Full Changelog**:
kubernetes-sigs/controller-tools@v0.14.0...v0.15.0

</details>

---

### Configuration

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

🚦 **Automerge**: Enabled.

♻ **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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/anza-labs/lke-operator).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4zNTEuMiIsInVwZGF0ZWRJblZlciI6IjM3LjM1MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhcmVhL2RlcGVuZGVuY3kiXX0=-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/M Denotes a PR that changes 30-99 lines, ignoring generated files. tide/merge-method-squash Denotes a PR that should be squashed by tide when it merges.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants