 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Overview ¶
Package cache provides object caches that act as caching client.Reader instances and help drive Kubernetes-object-based event handlers.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Cache ¶
type Cache interface {
	// Cache acts as a client to objects stored in the cache.
	client.Reader
	// Cache loads informers and adds field indicies.
	Informers
}
    Cache knows how to load Kubernetes objects, fetch informers to request to receive events for Kubernetes objects (at a low-level), and add indicies to fields on the objects stored in the cache.
type Informer ¶ added in v0.1.11
type Informer interface {
	// AddEventHandler adds an event handler to the shared informer using the shared informer's resync
	// period.  Events to a single handler are delivered sequentially, but there is no coordination
	// between different handlers.
	AddEventHandler(handler toolscache.ResourceEventHandler)
	// AddEventHandlerWithResyncPeriod adds an event handler to the shared informer using the
	// specified resync period.  Events to a single handler are delivered sequentially, but there is
	// no coordination between different handlers.
	AddEventHandlerWithResyncPeriod(handler toolscache.ResourceEventHandler, resyncPeriod time.Duration)
	// AddIndexers adds more indexers to this store.  If you call this after you already have data
	// in the store, the results are undefined.
	AddIndexers(indexers toolscache.Indexers) error
	//HasSynced return true if the informers underlying store has synced
	HasSynced() bool
}
    Informer - informer allows you interact with the underlying informer
type Informers ¶
type Informers interface {
	// GetInformer fetches or constructs an informer for the given object that corresponds to a single
	// API kind and resource.
	GetInformer(obj runtime.Object) (Informer, error)
	// GetInformerForKind is similar to GetInformer, except that it takes a group-version-kind, instead
	// of the underlying object.
	GetInformerForKind(gvk schema.GroupVersionKind) (Informer, error)
	// Start runs all the informers known to this cache until the given channel is closed.
	// It blocks.
	Start(stopCh <-chan struct{}) error
	// WaitForCacheSync waits for all the caches to sync.  Returns false if it could not sync a cache.
	WaitForCacheSync(stop <-chan struct{}) bool
	// Informers knows how to add indicies to the caches (informers) that it manages.
	client.FieldIndexer
}
    Informers knows how to create or fetch informers for different group-version-kinds, and add indicies to those informers. It's safe to call GetInformer from multiple threads.
type NewCacheFunc ¶ added in v0.1.11
NewCacheFunc - Function for creating a new cache from the options and a rest config
func MultiNamespacedCacheBuilder ¶ added in v0.1.11
func MultiNamespacedCacheBuilder(namespaces []string) NewCacheFunc
MultiNamespacedCacheBuilder - Builder function to create a new multi-namespaced cache. This will scope the cache to a list of namespaces. Listing for all namespaces will list for all the namespaces that this knows about.
type Options ¶
type Options struct {
	// Scheme is the scheme to use for mapping objects to GroupVersionKinds
	Scheme *runtime.Scheme
	// Mapper is the RESTMapper to use for mapping GroupVersionKinds to Resources
	Mapper meta.RESTMapper
	// Resync is the resync period. Defaults to defaultResyncTime.
	Resync *time.Duration
	// Namespace restricts the cache's ListWatch to the desired namespace
	// Default watches all namespaces
	Namespace string
}
    Options are the optional arguments for creating a new InformersMap object