Skip to content

[pull] main from kubernetes-sigs:main #10

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

Open
wants to merge 210 commits into
base: main
Choose a base branch
from
Open

Conversation

pull[bot]
Copy link

@pull pull bot commented Oct 20, 2024

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

alvaroaleman and others added 6 commits October 12, 2024 18:18
The fake client currently has a number of time of check time of use
races, where it fetches an object to determine what to do in a mutating
operation. The problem is that the object might change in between
fetching it and doing the mutating operation. Most notably, this
happens when:
* Patching is done in parallel. Only one of the patches will succeed,
  the other ones will fail with a conflict
* Updates of objects that allow unconditional updates: All updates will
  succeed, but not all of them will increment the resource version (i.E
  dirty writes for the RV)
* An update for an object that allows createOnUpdate races with a create
  or delete
* A DeleteAllOf call races with Delete calls
* A scale update races with a normal update

This change:
* Adds tests for all of these cases
* Fixes them by adding a lock around the write operations, including
  their read part, if any
Signed-off-by: Stefan Büringer [email protected]
🐛 Fakeclient: Fix TOCTOU races
🌱 Bump to k8s.io/* v0.32.0-alpha.2
…etSyncReconcier-tosecretSyncReconciler

🐛 Rename SecretSyncReconcier to SecretSyncReconciler (typo)
@pull pull bot added the ⤵️ pull label Oct 20, 2024
buraksekili and others added 23 commits October 25, 2024 23:40
This commit fixes a minor typo in IndexField docs.
📖  (fix): typo in IndexField method docs
Contrary to everything else in controller-runtime, we expect
`source.Start` to be non-blocking. If someone implements a custom source
and gets this wrong, the resulting behavior is that the binary starts
successfully, but no reconciliation happens which is extremely difficult
to understand and debug.

This change makes us use the `CacheSyncTimeout` not only for the sources
`WaitForSync` but also for its `Start`.

It is worth noting that the current design of both requiring `Start` to
not block and `WaitForSync` to block is very confusing. It likely came
to be because we basicaly require two distinct contexsts in `Start`, one
to indicate the lifetime of the `Source` and one to indicate the `Start`
timeout.

To overall simplify and improve the code, the change also parallelizes
the `Start` of the sources.
Bumps the all-github-actions group with 2 updates: [actions/checkout](https://github.com/actions/checkout) and [actions/setup-go](https://github.com/actions/setup-go).


Updates `actions/checkout` from 4.2.1 to 4.2.2
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](actions/checkout@eef6144...11bd719)

Updates `actions/setup-go` from 5.0.2 to 5.1.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@0a12ed9...41dfa10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-github-actions
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
…ns/all-github-actions-240149f75d

🌱 Bump the all-github-actions group with 2 updates
Signed-off-by: Stefan Büringer [email protected]
🌱 Bump to k8s.io/* v0.32.0-alpha.3
* clarify comments of GenerationChangedPredicate

* fix: update comments of GenerationChangedPredicate about cr generation
Bumps the all-github-actions group with 1 update: [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `softprops/action-gh-release` from 2.0.8 to 2.0.9
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@c062e08...e7a8f85)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
…ns/all-github-actions-35641a6c8a

🌱 Bump softprops/action-gh-release from 2.0.8 to 2.0.9 in the all-github-actions group
Controllers are long-running processes, and deduplication, as
implemented, increases memory use.

With this change, duplicate warnings will appear in the log by default.
However, this is safe, because Kubernetes rotates container logs by
default.

If a specific controller sees many duplicate warnings, it can configure
the handler to deduplicate them.
…by-default

⚠️  Do not deduplicate warnings by default
✨ Add custom path option for webhooks
…tch) (#2982)

* Fix custom defaulter from deleting unknown fields

* Use a zero-change patch to do find scheme caused fields removal.

* Add `DefaulterPreserveUnknownFields`

An option stops the defaulter from pruning the fields
that are not recognized in the local scheme.

* Make it opt-out, `DefaulterRemoveUnknownFields`

* Review Remarks

* Review Remarks

* Rename DefaulterRemoveUnknownFields to DefaulterRemoveUnknownOrOmitableFields

---------

Co-authored-by: Aldo Culquicondor <[email protected]>
🐛 Error when source.Start() never returns
🌱  Source.Start(): Use errgroup without context
Signed-off-by: Stefan Büringer [email protected]
🌱 Bump to k8s.io/* v0.32.0-beta.0
🌱 Fixups to error when source.Start never returns
Bumps the all-github-actions group with 1 update: [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `softprops/action-gh-release` from 2.0.9 to 2.1.0
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@e7a8f85...01570a1)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
rashmichandrashekar and others added 30 commits March 31, 2025 12:56
🌱 Clarify that controller-runtime is not a kubebuilder subproject
✨ [Warm Replicas] Extract startWatches into helper method.
Signed-off-by: Troy Connor <[email protected]>
🌱 Bump setup-envtest to k8s.io/apimachinery v0.33.0
#3195)

* fix: prevent list accumulation in multi-namespace cache implementation

Signed-off-by: Xuhui zhang <[email protected]>

* Add test

Signed-off-by: Xuhui zhang <[email protected]>

---------

Signed-off-by: Xuhui zhang <[email protected]>
📖 Document pitfalls of CreateOrUpdate and CreateOrPatch
🐛Use k8s.io/apimachinery/pkg/util/json to unmarshal in fakeclient
🌱ci: Update golangci-lint to v2.1.6 and adjust configuration
Bumps the all-github-actions group with 3 updates in the / directory: [actions/setup-go](https://github.com/actions/setup-go), [actions/upload-artifact](https://github.com/actions/upload-artifact) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release).


Updates `actions/setup-go` from 5.3.0 to 5.5.0
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](actions/setup-go@f111f33...d35c59a)

Updates `actions/upload-artifact` from 4.6.1 to 4.6.2
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](actions/upload-artifact@4cec3d8...ea165f8)

Updates `softprops/action-gh-release` from 2.2.1 to 2.2.2
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](softprops/action-gh-release@c95fe14...da05d55)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-version: 5.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: all-github-actions
- dependency-name: actions/upload-artifact
  dependency-version: 4.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-github-actions
- dependency-name: softprops/action-gh-release
  dependency-version: 2.2.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: all-github-actions
...

Signed-off-by: dependabot[bot] <[email protected]>
…ns/all-github-actions-1f2e4f4014

🌱 Bump the all-github-actions group across 1 directory with 3 updates
Signed-off-by: Troy Connor <[email protected]>
…bhooks

🐛Return warnings on webhook response
📖 Update README with compatability matrix
This change removes supports for objects that have type or object meta
defined as pointer.

This is because the `FieldManagedObjectTracker` needed for support of
SSA in the fakeclient can not support it, as it has a lot of places
where it unconditionally accesses these fields using reflect, which will
cause panics.
…ptions

✨ Add UnsafeDisableDeepCopy to GetOptions
⚠️ Fakeclient: Remove support for objects with pointer meta
The fakeclient currently differs from the liveclient in that if a
structured object is created that has typemeta set, it will retain that.
In contrast to that, the liveclient always strips it.

This change makes the fakeclient strip it just like the live client.
⚠️ Fakeclient: Clear typemeta for structured
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.