Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RetainClusterFields ¶
func RetainClusterFields(targetKind string, desiredObj, clusterObj, fedObj *unstructured.Unstructured) error
RetainClusterFields updates the desired object with values retained from the cluster object.
Types ¶
type CheckUnmanagedDispatcher ¶ added in v0.3.0
type CheckUnmanagedDispatcher interface { OperationDispatcher CheckRemovedOrUnlabeled(clusterName string, isHostNamespace isNamespaceInHostClusterFunc) }
func NewCheckUnmanagedDispatcher ¶ added in v0.3.0
func NewCheckUnmanagedDispatcher(clientAccessor clientAccessorFunc, targetGVK schema.GroupVersionKind, targetName util.QualifiedName) CheckUnmanagedDispatcher
type FederatedResourceForDispatch ¶
type FederatedResourceForDispatch interface { TargetName() util.QualifiedName TargetKind() string TargetGVK() schema.GroupVersionKind Object() *unstructured.Unstructured VersionForCluster(clusterName string) (string, error) ObjectForCluster(clusterName string) (*unstructured.Unstructured, error) ApplyOverrides(obj *unstructured.Unstructured, clusterName string) error RecordError(errorCode string, err error) RecordEvent(reason, messageFmt string, args ...interface{}) IsNamespaceInHostCluster(clusterObj runtimeclient.Object) bool }
FederatedResourceForDispatch is the subset of the FederatedResource interface required for dispatching operations to managed resources.
type ManagedDispatcher ¶
type ManagedDispatcher interface { UnmanagedDispatcher Create(clusterName string) Update(clusterName string, clusterObj *unstructured.Unstructured) VersionMap() map[string]string CollectedStatus() (status.CollectedPropagationStatus, status.CollectedResourceStatus) RecordClusterError(propStatus status.PropagationStatus, clusterName string, err error) RecordStatus(clusterName string, propStatus status.PropagationStatus, resourceStatus interface{}) }
ManagedDispatcher dispatches operations to member clusters for resources managed by a federated resource.
func NewManagedDispatcher ¶
func NewManagedDispatcher(clientAccessor clientAccessorFunc, fedResource FederatedResourceForDispatch, skipAdoptingResources, rawResourceStatusCollection bool) ManagedDispatcher
type OperationDispatcher ¶
type OperationDispatcher interface { // Wait returns true for ok if all operations completed // successfully and false if only some operations completed // successfully. An error is returned on timeout. Wait() (ok bool, timeoutErr error) }
OperationDispatcher provides an interface to wait for operations dispatched to member clusters.
type UnmanagedDispatcher ¶
type UnmanagedDispatcher interface { OperationDispatcher Delete(clusterName string, opts ...runtimeclient.DeleteOption) RemoveManagedLabel(clusterName string, clusterObj *unstructured.Unstructured) }
UnmanagedDispatcher dispatches operations to member clusters for resources that are no longer managed by a federated resource.
func NewUnmanagedDispatcher ¶
func NewUnmanagedDispatcher(clientAccessor clientAccessorFunc, targetGVK schema.GroupVersionKind, targetName util.QualifiedName) UnmanagedDispatcher
Click to show internal directories.
Click to hide internal directories.