-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Allow removing individual informers from the Cache #935
Copy link
Copy link
Closed
Labels
lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.Denotes an issue or PR that has aged beyond stale and will be auto-closed.triage/needs-informationIndicates an issue needs more information in order to work on it.Indicates an issue needs more information in order to work on it.
Description
Overview
In a somewhat similar use-case to that described in #863, the Gatekeeper project uses one set of custom resources to describe (and dynamically register) another set of CRDs. Once subordinate CRDs are created, we then use informers to register watches against resources of those types. The set of subordinate resource types change over time.
The existing APIs in controller-runtime do not allow removal of informers once they have been created. To work around this limitation, we have forked the controller-runtime cache.
This issue tracks the effort to upstream our changes in a way that is aligned with the design goals of controller-runtime.
Goals:
- Enable removal of individual informers from a Cache
- Support more granular lifecycle management for informers to allow them to be stopped during removal
Non-goals
- Reference counting of informers
Open questions
- Should existing interfaces be expanded (
Cache,Informers) in a breaking manner, or should new interfaces be introduced?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
lifecycle/rottenDenotes an issue or PR that has aged beyond stale and will be auto-closed.Denotes an issue or PR that has aged beyond stale and will be auto-closed.triage/needs-informationIndicates an issue needs more information in order to work on it.Indicates an issue needs more information in order to work on it.