sync

package
v0.0.8 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2019 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetOverrideHash added in v0.0.6

func GetOverrideHash(rawObj *unstructured.Unstructured) (string, error)

func GetTemplateHash added in v0.0.5

func GetTemplateHash(fieldMap map[string]interface{}) (string, error)

func RetainClusterFields added in v0.0.8

func RetainClusterFields(targetKind string, desiredObj, clusterObj, fedObj *unstructured.Unstructured) error

RetainClusterFields updates the desired object with values retained from the cluster object.

func StartFederationSyncController

func StartFederationSyncController(controllerConfig *util.ControllerConfig, stopChan <-chan struct{}, typeConfig typeconfig.Interface, fedNamespaceAPIResource *metav1.APIResource) error

StartFederationSyncController starts a new sync controller for a type config

Types

type FederatedResource added in v0.0.5

type FederatedResource interface {
	FederatedName() util.QualifiedName
	FederatedKind() string
	TargetName() util.QualifiedName
	TargetKind() string
	Object() *unstructured.Unstructured
	VersionForCluster(clusterName string) (string, error)
	UpdateVersions(selectedClusters []string, versionMap map[string]string) error
	DeleteVersions()
	ComputePlacement(clusters []*fedv1a1.FederatedCluster) (selectedClusters sets.String, err error)
	SkipClusterDeletion(clusterObj pkgruntime.Object) bool
	ObjectForCluster(clusterName string) (*unstructured.Unstructured, error)
	MarkedForDeletion() bool
	EnsureDeletion() error
	EnsureFinalizer() error
	RecordError(errorCode string, err error)
	RecordEvent(reason, messageFmt string, args ...interface{})
	NewUpdater() FederatedUpdater
}

FederatedResource encapsulates the behavior of a logical federated resource which may be implemented by one or more kubernetes resources in the cluster hosting the federation control plane.

type FederatedResourceAccessor added in v0.0.5

type FederatedResourceAccessor interface {
	Run(stopChan <-chan struct{})
	HasSynced() bool
	FederatedResource(qualifiedName util.QualifiedName) (FederatedResource, error)
	VisitFederatedResources(visitFunc func(obj interface{}))
}

FederatedResourceAccessor provides a way to retrieve and visit logical federated resources (e.g. FederatedConfigMap)

func NewFederatedResourceAccessor added in v0.0.5

func NewFederatedResourceAccessor(
	controllerConfig *util.ControllerConfig,
	typeConfig typeconfig.Interface,
	fedNamespaceAPIResource *metav1.APIResource,
	client genericclient.Client,
	enqueueObj func(pkgruntime.Object),
	informer util.FederatedInformer,
	updater util.FederatedUpdater,
	eventRecorder record.EventRecorder) (FederatedResourceAccessor, error)

type FederatedUpdater added in v0.0.8

type FederatedUpdater interface {
	NoChanges() bool
	Wait() (map[string]string, bool)

	Create(clusterName string)
	Update(clusterName string, clusterObj *unstructured.Unstructured)
	Delete(clusterName string)
}

func NewFederatedUpdater added in v0.0.8

func NewFederatedUpdater(fedView util.FederationView, fedResource FederatedResource) FederatedUpdater

type FederationSyncController

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

FederationSyncController synchronizes the state of a federated type to clusters that are members of the federation.

func (*FederationSyncController) Run

func (s *FederationSyncController) Run(stopChan <-chan struct{})

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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