remote

package
v0.3.6 Latest Latest
Warning

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

Go to latest
Published: May 15, 2020 License: Apache-2.0 Imports: 22 Imported by: 118

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewClusterClient

func NewClusterClient(ctx context.Context, c client.Client, cluster client.ObjectKey, scheme *runtime.Scheme) (client.Client, error)

NewClusterClient returns a Client for interacting with a remote Cluster using the given scheme for encoding and decoding objects.

func RESTConfig added in v0.3.0

func RESTConfig(ctx context.Context, c client.Reader, cluster client.ObjectKey) (*restclient.Config, error)

RESTConfig returns a configuration instance to be used with a Kubernetes client.

Types

type ClusterCacheReconciler added in v0.3.6

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

ClusterCacheReconciler is responsible for stopping remote cluster caches when the cluster for the remote cache is being deleted.

func NewClusterCacheReconciler added in v0.3.6

func NewClusterCacheReconciler(
	log logr.Logger,
	mgr ctrl.Manager,
	controllerOptions controller.Options,
	cct *ClusterCacheTracker,
) (*ClusterCacheReconciler, error)

func (*ClusterCacheReconciler) Reconcile added in v0.3.6

Reconcile reconciles Clusters and removes ClusterCaches for any Cluster that cannot be retrieved from the management cluster.

type ClusterCacheTracker added in v0.3.6

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

ClusterCacheTracker manages client caches for workload clusters.

func NewClusterCacheTracker added in v0.3.6

func NewClusterCacheTracker(log logr.Logger, manager ctrl.Manager) (*ClusterCacheTracker, error)

NewClusterCacheTracker creates a new ClusterCacheTracker.

func (*ClusterCacheTracker) Watch added in v0.3.6

func (m *ClusterCacheTracker) Watch(ctx context.Context, input WatchInput) error

Watch watches a remote cluster for resource events. If the watch already exists based on cluster, watcher, kind, and eventHandler, then this is a no-op.

type ClusterClientGetter added in v0.3.0

type ClusterClientGetter func(ctx context.Context, c client.Client, cluster client.ObjectKey, scheme *runtime.Scheme) (client.Client, error)

ClusterClientGetter returns a new remote client.

type WatchInput added in v0.3.6

type WatchInput struct {
	// Cluster is the key for the remote cluster.
	Cluster client.ObjectKey

	// Watcher is the watcher (controller) whose Reconcile() function will be called for events.
	Watcher Watcher

	// Kind is the type of resource to watch.
	Kind runtime.Object

	// CacheOptions are used to specify options for the remote cache, such as the Scheme to use.
	CacheOptions cache.Options

	// EventHandler contains the event handlers to invoke for resource events.
	EventHandler handler.EventHandler

	// Predicates is used to filter resource events.
	Predicates []predicate.Predicate
}

WatchInput specifies the parameters used to establish a new watch for a remote cluster.

type Watcher added in v0.3.6

type Watcher interface {
	// Watch watches src for changes, sending events to eventHandler if they pass predicates.
	Watch(src source.Source, eventHandler handler.EventHandler, predicates ...predicate.Predicate) error
}

Watcher is a scoped-down interface from Controller that only knows how to watch.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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