Documentation ¶
Index ¶
- func BuildMultiClusterResourceVersion(clusterResourceMap map[string]string) string
- func RecoverClusterResourceVersion(obj runtime.Object, cluster string) bool
- func RemoveCacheSourceAnnotation(obj runtime.Object) bool
- type Cache
- type MultiClusterCache
- func (c *MultiClusterCache) Get(ctx context.Context, gvr schema.GroupVersionResource, name string, ...) (runtime.Object, error)
- func (c *MultiClusterCache) GetResourceFromCache(ctx context.Context, gvr schema.GroupVersionResource, namespace, name string) (runtime.Object, string, error)
- func (c *MultiClusterCache) HasResource(resource schema.GroupVersionResource) bool
- func (c *MultiClusterCache) List(ctx context.Context, gvr schema.GroupVersionResource, ...) (runtime.Object, error)
- func (c *MultiClusterCache) Stop()
- func (c *MultiClusterCache) UpdateCache(resourcesByCluster map[string]map[schema.GroupVersionResource]struct{}) error
- func (c *MultiClusterCache) Watch(ctx context.Context, gvr schema.GroupVersionResource, ...) (watch.Interface, error)
- type RESTReader
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BuildMultiClusterResourceVersion ¶ added in v1.3.1
BuildMultiClusterResourceVersion build multi cluster resource version.
func RecoverClusterResourceVersion ¶ added in v1.3.1
RecoverClusterResourceVersion convert global resource version to single cluster resource version. If obj is updated, return true.
func RemoveCacheSourceAnnotation ¶ added in v1.3.1
RemoveCacheSourceAnnotation delete CacheSourceAnnotationKey annotation in object. If obj is updated, return true.
Types ¶
type Cache ¶
type Cache 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() }
Cache an interface for cache.
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 ¶
func (c *MultiClusterCache) Get(ctx context.Context, gvr schema.GroupVersionResource, name string, options *metav1.GetOptions) (runtime.Object, error)
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 ¶
func (c *MultiClusterCache) List(ctx context.Context, gvr schema.GroupVersionResource, o *metainternalversion.ListOptions) (runtime.Object, error)
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 ¶
func (c *MultiClusterCache) Watch(ctx context.Context, gvr schema.GroupVersionResource, options *metainternalversion.ListOptions) (watch.Interface, error)
Watch watches the resource
type RESTReader ¶
type RESTReader interface { 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) }
RESTReader supports get/list/watch rest.