Versions in this module Expand all Collapse all v0 v0.4.2 Dec 13, 2022 Changes in this version + const IndexByPhysicalName + var LabelPrefix = "vcluster.loft.sh/label" + var ManagedAnnotationsAnnotation = "vcluster.loft.sh/managed-annotations" + var NameAnnotation = "vcluster.loft.sh/object-name" + var NamespaceAnnotation = "vcluster.loft.sh/object-namespace" + func ConvertLabelKey(key string) string + func ConvertLabelKeyWithPrefix(prefix, key string) string + func DefaultPhysicalName(vName string, vObj client.Object) string + func MergeLabelSelectors(elems ...*metav1.LabelSelector) *metav1.LabelSelector + func ObjectPhysicalName(obj runtime.Object) string + func ResetObjectMetadata(obj metav1.Object) + func Split(s, sep string) (string, string) + func TranslateLabelSelector(labelSelector *metav1.LabelSelector) *metav1.LabelSelector + func TranslateLabelSelectorCluster(physicalNamespace string, labelSelector *metav1.LabelSelector) *metav1.LabelSelector + func TranslateLabelSelectorWithPrefix(labelPrefix string, labelSelector *metav1.LabelSelector) *metav1.LabelSelector + func TranslateMetadata(phyiscalNamespace string, vObj client.Object, excludedAnnotations ...string) client.Object + func TranslateMetadataUpdate(vObj client.Object, pObj client.Object, excludedAnnotations ...string) (bool, map[string]string, map[string]string) + func UniqueSlice(stringSlice []string) []string + type MetadataTranslator interface + TranslateMetadata func(vObj client.Object) client.Object + TranslateMetadataUpdate func(vObj client.Object, pObj client.Object) (changed bool, annotations map[string]string, labels map[string]string) + type NameTranslator interface + IsManaged func(pObj client.Object) (bool, error) + PhysicalToVirtual func(pObj client.Object) types.NamespacedName + VirtualToPhysical func(req types.NamespacedName, vObj client.Object) types.NamespacedName + type NamespacedTranslator interface + EventRecorder func() record.EventRecorder + RegisterIndices func(ctx *context.RegisterContext) error + SyncDownCreate func(ctx *context.SyncContext, vObj, pObj client.Object) (ctrl.Result, error) + SyncDownUpdate func(ctx *context.SyncContext, vObj, pObj client.Object) (ctrl.Result, error) + func NewNamespacedTranslator(ctx *context.RegisterContext, name string, obj client.Object, ...) NamespacedTranslator + type PhysicalNameTranslator func(vName string, vObj client.Object) string + type Translator interface + Name func() string + Resource func() client.Object + func NewClusterTranslator(ctx *context.RegisterContext, name string, obj client.Object, ...) Translator + func NewMirrorPhysicalTranslator(name string, obj client.Object) Translator