-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
⚠Add ability for the delegating client to avoid caching objects #1249
⚠Add ability for the delegating client to avoid caching objects #1249
Conversation
51e0858
to
f1c36b1
Compare
Avoid caching Secrets or ConfigMaps Based on changes to the upstream controller-runtime: kubernetes-sigs/controller-runtime#1249
A long standing issue in controller runtime, the delegating client is the default client that the manager creates. Whenever a user calls Get/List on a typed object, the internal cache spins up an informer and start watching *all* objects for that group-version-kind. This change introduces the ability for the delegating client to take a list of objects that should always hit the live api-server, and bypass the cache. We also offer the ability to build a manager.NewClientFunc with a new builder that exposes the ability to mark which objects we want to be uncached. Signed-off-by: Vince Prignano <vincepri@vmware.com>
f1c36b1
to
6089977
Compare
@vincepri: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. 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. I understand the commands that are listed here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@alvaroaleman Updated with what I was thinking, it's a middle ground between both, if you still don't like it happy to just remove the builder
For some reason github doesn't allow me to respond in the thread. The builder now is fine, but please see my other comment ragarding unstructured
I just wanted to say thank you @vincepri for working on this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alvaroaleman, vincepri 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 |
A long standing issue in controller runtime, the delegating client is
the default client that the manager creates. Whenever a user calls
Get/List on a typed object, the internal cache spins up an informer and
start watching all objects for that group-version-kind.
This change introduces the ability for the delegating client to take
a list of objects that should always hit the live api-server, and bypass
the cache.
We also offer the ability to build a manager.NewClientFunc with a new
builder that exposes the ability to mark which objects we want to be
uncached.
Marking this as ⚠ because it changes the signature of NewDelegatingClient, which can now return an error.
/milestone v0.7.x
Related to #1222