Documentation ¶
Overview ¶
Package tracker defines a utility to enable Reconcilers to trigger reconciliations when objects that are cross-referenced change, so that the level-based reconciliation can react to the change. The prototypical cross-reference in Kubernetes is corev1.ObjectReference.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Interface ¶
type Interface interface { // Track tells us that "obj" is tracking changes to the // referenced object. Track(ref corev1.ObjectReference, obj interface{}) error // OnChanged is a callback to register with the InformerFactory // so that we are notified for appropriate object changes. OnChanged(obj interface{}) }
Interface defines the interface through which an object can register that it is tracking another object by reference.
func New ¶
func New(callback func(types.NamespacedName), lease time.Duration) Interface
New returns an implementation of Interface that lets a Reconciler register a particular resource as watching an ObjectReference for a particular lease duration. This watch must be refreshed periodically (e.g. by a controller resync) or it will expire.
When OnChanged is called by the informer for a particular GroupVersionKind, the provided callback is called with the "key" of each object actively watching the changed object.