Commit Graph

9 Commits

Author SHA1 Message Date
Ricardo Weir 5492937d69 Add option to only enqueue if actually updated
This option causes the handle function to only proceed if the
object was actually updated. This is intended to be used by
applications with many objects and/or controllers types that
have alternative means of rerunning when necessary. When the
informer's resync their cache the update function is run.
This reducing the overhead but has the tradeoff of not
rerunning handlers that may rely on external objects or
services or experience a bug causing them to not retry even
if it was necessary. The result is that running the handler
func on resync will mostly only serve the purpose of catching
missed cache events.
2022-05-17 17:51:39 -07:00
Ricardo Weir 6bec1c42ea Add metrics 2022-02-15 16:07:42 -07:00
Darren Shepherd 3c6118a306 Don't hold controller lock during cache sync
While waiting for caches to sync it is possible that one of the resources
calls the sharedcontrollerfactory to acquire a controller. This will cause
a deadlock as the controller is waiting on the cache which is waiting on
a handler which is blocked on the controller.
2021-12-16 18:30:41 -07:00
Darren Shepherd 1ca69e6537 Add support for unstructured watches based on gvk 2021-02-10 16:27:36 -07:00
Darren Shepherd 961184571d Ignore GVK lookup error
If while creating the controller the GVK lookup to determine worker size
failes ignore the issue.
2020-07-27 22:51:26 -07:00
Darren Shepherd 8079eb2290 Refactor to allow mode that does not require RESTMapper to be invoked 2020-05-15 08:52:39 -07:00
Darren Shepherd e0509f89f3 Don't require type to exist in k8s until controllers are started 2020-04-27 10:17:00 -07:00
Darren Shepherd 783ff11440 Add GVK() and ForObject() methods 2020-04-15 22:13:13 -07:00
Darren Shepherd 6cfd718cfe Initial Commit 2020-04-15 02:14:08 -07:00