Documentation
¶
Index ¶
- func GetOverrideHash(rawObj *unstructured.Unstructured) (string, error)
- func GetTemplateHash(fieldMap map[string]interface{}) (string, error)
- func RetainClusterFields(targetKind string, desiredObj, clusterObj, fedObj *unstructured.Unstructured) error
- func StartFederationSyncController(controllerConfig *util.ControllerConfig, stopChan <-chan struct{}, ...) error
- type FederatedResource
- type FederatedResourceAccessor
- type FederatedUpdater
- type FederationSyncController
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 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{})
Source Files
¶
Click to show internal directories.
Click to hide internal directories.