internal

package
v0.0.0-...-48ed4f0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2023 License: Apache-2.0, Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GroupVersionKindAll = schema.GroupVersionKind{}

GroupVersionKindAll is the argument to represent all GroupVersionKind types.

Functions

func FieldIndexName

func FieldIndexName(field string) string

FieldIndexName constructs the name of the index over the given field, for use with an indexer.

func KeyToNamespacedKey

func KeyToNamespacedKey(ns string, baseKey string) string

KeyToNamespacedKey prefixes the given index key with a namespace for use in field selector indexes.

Types

type CacheReader

type CacheReader struct {
	// contains filtered or unexported fields
}

CacheReader wraps a cache.Index to implement the client.CacheReader interface for a single type.

func (*CacheReader) Get

Get checks the indexer for the object and writes a copy of it if found.

func (*CacheReader) List

List lists items out of the indexer and writes them to out.

type DisableDeepCopyByGVK

type DisableDeepCopyByGVK map[schema.GroupVersionKind]bool

DisableDeepCopyByGVK associate a GroupVersionKind to disable DeepCopy during get or list from cache.

func (DisableDeepCopyByGVK) IsDisabled

func (disableByGVK DisableDeepCopyByGVK) IsDisabled(gvk schema.GroupVersionKind) bool

IsDisabled returns whether a GroupVersionKind is disabled DeepCopy.

type InformersMap

type InformersMap struct {

	// Scheme maps runtime.Objects to GroupVersionKinds
	Scheme *runtime.Scheme
	// contains filtered or unexported fields
}

InformersMap create and caches Informers for (runtime.Object, schema.GroupVersionKind) pairs. It uses a standard parameter codec constructed based on the given generated Scheme.

func NewInformersMap

func NewInformersMap(config *rest.Config,
	scheme *runtime.Scheme,
	mapper meta.RESTMapper,
	resync time.Duration,
	namespace string,
	selectors SelectorsByGVK,
	disableDeepCopy DisableDeepCopyByGVK,
	transformers TransformFuncByObject,
) *InformersMap

NewInformersMap creates a new InformersMap that can create informers for both structured and unstructured objects.

func (*InformersMap) Get

Get will create a new Informer and add it to the map of InformersMap if none exists. Returns the Informer from the map.

func (*InformersMap) Remove

func (m *InformersMap) Remove(gvk schema.GroupVersionKind, obj runtime.Object)

Remove will remove an new Informer from the InformersMap and stop it if it exists.

func (*InformersMap) Start

func (m *InformersMap) Start(ctx context.Context) error

Start calls Run on each of the informers and sets started to true. Blocks on the context.

func (*InformersMap) WaitForCacheSync

func (m *InformersMap) WaitForCacheSync(ctx context.Context) bool

WaitForCacheSync waits until all the caches have been started and synced.

type MapEntry

type MapEntry struct {
	// Informer is the cached informer
	Informer cache.SharedIndexInformer

	// CacheReader wraps Informer and implements the CacheReader interface for a single type
	Reader CacheReader
	// contains filtered or unexported fields
}

MapEntry contains the cached data for an Informer.

func (*MapEntry) Start

func (e *MapEntry) Start(stop <-chan struct{})

Start starts the informer managed by a MapEntry. Blocks until the informer stops. The informer can be stopped either individually (via the entry's stop channel) or globally via the provided stop argument.

type Selector

type Selector struct {
	Label labels.Selector
	Field fields.Selector
}

Selector specify the label/field selector to fill in ListOptions.

func (Selector) ApplyToList

func (s Selector) ApplyToList(listOpts *metav1.ListOptions)

ApplyToList fill in ListOptions LabelSelector and FieldSelector if needed.

type SelectorsByGVK

type SelectorsByGVK map[schema.GroupVersionKind]Selector

SelectorsByGVK associate a GroupVersionKind to a field/label selector.

type TransformFuncByObject

type TransformFuncByObject interface {
	Set(runtime.Object, *runtime.Scheme, cache.TransformFunc) error
	Get(schema.GroupVersionKind) cache.TransformFunc
	SetDefault(transformer cache.TransformFunc)
}

TransformFuncByObject provides access to the correct transform function for any given GVK.

func TransformFuncByObjectFromMap

func TransformFuncByObjectFromMap(in map[schema.GroupVersionKind]cache.TransformFunc) TransformFuncByObject

TransformFuncByObjectFromMap creates a TransformFuncByObject from a map that maps GVKs to TransformFuncs.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL