store

package
v1.4.4 Latest Latest
Warning

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

Go to latest
Published: Jul 5, 2023 License: Apache-2.0 Imports: 36 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BuildMultiClusterResourceVersion added in v1.3.1

func BuildMultiClusterResourceVersion(clusterResourceMap map[string]string) string

BuildMultiClusterResourceVersion build multi cluster resource version.

func RecoverClusterResourceVersion added in v1.3.1

func RecoverClusterResourceVersion(obj runtime.Object, cluster string) bool

RecoverClusterResourceVersion convert global resource version to single cluster resource version. If obj is updated, return true.

func RemoveCacheSourceAnnotation added in v1.3.1

func RemoveCacheSourceAnnotation(obj runtime.Object) bool

RemoveCacheSourceAnnotation delete CacheSourceAnnotationKey annotation in object. If obj is updated, return true.

Types

type MultiClusterCache

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

MultiClusterCache caches resource from multi member clusters

func NewMultiClusterCache

func NewMultiClusterCache(newClientFunc func(string) (dynamic.Interface, error), restMapper meta.RESTMapper) *MultiClusterCache

NewMultiClusterCache return a cache for resources from member clusters

func (*MultiClusterCache) Get

Get returns the target object

func (*MultiClusterCache) GetResourceFromCache

func (c *MultiClusterCache) GetResourceFromCache(ctx context.Context, gvr schema.GroupVersionResource, namespace, name string) (runtime.Object, string, error)

GetResourceFromCache returns which cluster the resource belong to.

func (*MultiClusterCache) HasResource

func (c *MultiClusterCache) HasResource(resource schema.GroupVersionResource) bool

HasResource return whether resource is cached.

func (*MultiClusterCache) List

List returns the object list nolint:gocyclo

func (*MultiClusterCache) Stop

func (c *MultiClusterCache) Stop()

Stop stops the cache for multi cluster.

func (*MultiClusterCache) UpdateCache

func (c *MultiClusterCache) UpdateCache(resourcesByCluster map[string]map[schema.GroupVersionResource]struct{}) error

UpdateCache update cache for multi clusters

func (*MultiClusterCache) Watch

Watch watches the resource

type Store added in v1.4.0

type Store interface {
	UpdateCache(resourcesByCluster map[string]map[schema.GroupVersionResource]struct{}) error
	HasResource(resource schema.GroupVersionResource) bool
	GetResourceFromCache(ctx context.Context, gvr schema.GroupVersionResource, namespace, name string) (runtime.Object, string, error)
	Stop()

	Get(ctx context.Context, gvr schema.GroupVersionResource, name string, options *metav1.GetOptions) (runtime.Object, error)
	List(ctx context.Context, gvr schema.GroupVersionResource, options *metainternalversion.ListOptions) (runtime.Object, error)
	Watch(ctx context.Context, gvr schema.GroupVersionResource, options *metainternalversion.ListOptions) (watch.Interface, error)
}

Store is the cache for resources from multiple member clusters

Jump to

Keyboard shortcuts

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