Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MetadataTranslator ¶
type MetadataTranslator interface {
// TranslateMetadata translates the object's metadata
TranslateMetadata(ctx context.Context, vObj client.Object) client.Object
// TranslateMetadataUpdate translates the object's metadata annotations and labels and determines
// if they have changed between the physical and virtual object
TranslateMetadataUpdate(ctx context.Context, vObj client.Object, pObj client.Object) (changed bool, annotations map[string]string, labels map[string]string)
}
MetadataTranslator is used to convert metadata between virtual and physical objects and vice versa
type NameTranslator ¶
type NameTranslator interface {
// IsManaged determines if a physical object is managed by the vcluster
IsManaged(context.Context, client.Object) (bool, error)
// VirtualToPhysical translates a virtual name to a physical name
VirtualToPhysical(ctx context.Context, req types.NamespacedName, vObj client.Object) types.NamespacedName
// PhysicalToVirtual translates a physical name to a virtual name
PhysicalToVirtual(ctx context.Context, pObj client.Object) types.NamespacedName
}
NameTranslator is used to convert virtual to physical names and vice versa
type NamespacedTranslator ¶
type NamespacedTranslator interface {
Translator
// EventRecorder returns
EventRecorder() record.EventRecorder
// RegisterIndices registers the default indices for the syncer
RegisterIndices(ctx *syncercontext.RegisterContext) error
// SyncDownCreate creates the given pObj in the target namespace
SyncDownCreate(ctx *syncercontext.SyncContext, vObj, pObj client.Object) (ctrl.Result, error)
// SyncDownUpdate updates the given pObj (if not nil) in the target namespace
SyncDownUpdate(ctx *syncercontext.SyncContext, vObj, pObj client.Object) (ctrl.Result, error)
// Function to override default VirtualToPhysical name translation
SetNameTranslator(nameTranslator translate.PhysicalNamespacedNameTranslator)
}
NamespacedTranslator provides some helper functions to ease sync down translation
func NewNamespacedTranslator ¶
func NewNamespacedTranslator(ctx *context.RegisterContext, name string, obj client.Object, excludedAnnotations ...string) NamespacedTranslator
type Translator ¶
type Translator interface {
Resource() client.Object
Name() string
NameTranslator
MetadataTranslator
}
Translator is used to translate names as well as metadata between virtual and physical objects
func NewClusterTranslator ¶
func NewClusterTranslator(ctx *context.RegisterContext, name string, obj client.Object, nameTranslator translate.PhysicalNameTranslator, excludedAnnotations ...string) Translator
func NewMirrorPhysicalTranslator ¶
func NewMirrorPhysicalTranslator(name string, obj client.Object) Translator
Click to show internal directories.
Click to hide internal directories.