generic

package
v0.21.11 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2022 License: Apache-2.0 Imports: 9 Imported by: 4,774

Documentation

Overview

Package generic provides a generic object store interface and a generic label/field matching type.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AddObjectMetaFieldsSet

func AddObjectMetaFieldsSet(source fields.Set, objectMeta *metav1.ObjectMeta, hasNamespaceField bool) fields.Set

AdObjectMetaField add fields that represent the ObjectMeta to source.

func MergeFieldsSets

func MergeFieldsSets(source fields.Set, fragment fields.Set) fields.Set

MergeFieldsSets merges a fields'set from fragment into the source.

func NewRawStorage

func NewRawStorage(config *storagebackend.Config, newFunc func() runtime.Object) (storage.Interface, factory.DestroyFunc, error)

NewRawStorage creates the low level kv storage. This is a work-around for current two layer of same storage interface. TODO: Once cacher is enabled on all registries (event registry is special), we will remove this method.

func ObjectMetaFieldsSet

func ObjectMetaFieldsSet(objectMeta *metav1.ObjectMeta, hasNamespaceField bool) fields.Set

ObjectMetaFieldsSet returns a fields that represent the ObjectMeta.

func UndecoratedStorage

func UndecoratedStorage(
	config *storagebackend.Config,
	resourcePrefix string,
	keyFunc func(obj runtime.Object) (string, error),
	newFunc func() runtime.Object,
	newListFunc func() runtime.Object,
	getAttrsFunc storage.AttrFunc,
	trigger storage.IndexerFuncs,
	indexers *cache.Indexers) (storage.Interface, factory.DestroyFunc, error)

UndecoratedStorage returns the given a new storage from the given config without any decoration.

Types

type RESTOptions

type RESTOptions struct {
	StorageConfig *storagebackend.Config
	Decorator     StorageDecorator

	EnableGarbageCollection bool
	DeleteCollectionWorkers int
	ResourcePrefix          string
	CountMetricPollPeriod   time.Duration
}

RESTOptions is set of configuration options to generic registries.

func (RESTOptions) GetRESTOptions

func (opts RESTOptions) GetRESTOptions(schema.GroupResource) (RESTOptions, error)

Implement RESTOptionsGetter so that RESTOptions can directly be used when available (i.e. tests)

type RESTOptionsGetter

type RESTOptionsGetter interface {
	GetRESTOptions(resource schema.GroupResource) (RESTOptions, error)
}

type StorageDecorator

type StorageDecorator func(
	config *storagebackend.Config,
	resourcePrefix string,
	keyFunc func(obj runtime.Object) (string, error),
	newFunc func() runtime.Object,
	newListFunc func() runtime.Object,
	getAttrsFunc storage.AttrFunc,
	trigger storage.IndexerFuncs,
	indexers *cache.Indexers) (storage.Interface, factory.DestroyFunc, error)

StorageDecorator is a function signature for producing a storage.Interface and an associated DestroyFunc from given parameters.

type StoreOptions

type StoreOptions struct {
	RESTOptions RESTOptionsGetter
	TriggerFunc storage.IndexerFuncs
	AttrFunc    storage.AttrFunc
	Indexers    *cache.Indexers
}

StoreOptions is set of configuration options used to complete generic registries.

Directories

Path Synopsis
Package etcd has a generic implementation of a registry that stores things in etcd.
Package etcd has a generic implementation of a registry that stores things in etcd.
Package rest has generic implementations of resources used for REST responses
Package rest has generic implementations of resources used for REST responses

Jump to

Keyboard shortcuts

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