Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type SingleClusterInformerManager ¶
type SingleClusterInformerManager interface { // ForResource builds a dynamic shared informer for 'resource' then set event handler. // If the informer already exist, the event handler will be appended to the informer. // The handler should not be nil. ForResource(resource schema.GroupVersionResource, handler cache.ResourceEventHandler) // IsInformerSynced checks if the resource's informer is synced. // A informer is synced means: // - The informer has been created(by method 'ForResource' or 'Lister'). // - The informer has started(by method 'Start'). // - The informer's cache has been synced. IsInformerSynced(resource schema.GroupVersionResource) bool // IsHandlerExist checks if handler already added to a the informer that watches the 'resource'. IsHandlerExist(resource schema.GroupVersionResource, handler cache.ResourceEventHandler) bool // Lister returns a generic lister used to get 'resource' from informer's store. // The informer for 'resource' will be created if not exist, but without any event handler. Lister(resource schema.GroupVersionResource) cache.GenericLister // Informer returns a shared index informer for the specified resource Informer(resource schema.GroupVersionResource) cache.SharedIndexInformer // Start will run all informers, the informers will keep running until the channel closed. // It is intended to be called after create new informer(s), and it's safe to call multi times. Start() // Stop stops all single cluster informers of a cluster. Once it is stopped, it will be not able // to Start again. Stop() // WaitForCacheSync waits for all caches to populate. WaitForCacheSync() map[schema.GroupVersionResource]bool // WaitForCacheSyncWithTimeout waits for all caches to populate with a definitive timeout. WaitForCacheSyncWithTimeout(cacheSyncTimeout time.Duration) map[schema.GroupVersionResource]bool // Context returns the single cluster context. Context() context.Context // GetClient returns the dynamic client. GetClient() dynamic.Interface }
SingleClusterInformerManager manages dynamic shared informer for all resources, include Kubernetes resource and custom resources defined by CustomResourceDefinition.
func NewSingleClusterInformerManager ¶
func NewSingleClusterInformerManager(client dynamic.Interface, defaultResync time.Duration, parentCh <-chan struct{}) SingleClusterInformerManager
NewSingleClusterInformerManager constructs a new instance of singleClusterInformerManagerImpl. defaultResync with value '0' means no re-sync.
Click to show internal directories.
Click to hide internal directories.