const fakeSVMNamespaceName … const ResourceVersionControllerName … type ResourceVersionController … func NewResourceVersionController( ctx context.Context, kubeClient clientset.Interface, discoveryClient *discovery.DiscoveryClient, metadataClient metadata.Interface, svmInformer svminformers.StorageVersionMigrationInformer, mapper meta.ResettableRESTMapper, ) *ResourceVersionController { … } func (rv *ResourceVersionController) addSVM(logger klog.Logger, obj interface{ … } func (rv *ResourceVersionController) updateSVM(logger klog.Logger, oldObj, newObj interface{ … } func (rv *ResourceVersionController) enqueue(svm *svmv1alpha1.StorageVersionMigration) { … } func (rv *ResourceVersionController) Run(ctx context.Context) { … } func (rv *ResourceVersionController) worker(ctx context.Context) { … } func (rv *ResourceVersionController) processNext(ctx context.Context) bool { … } func (rv *ResourceVersionController) sync(ctx context.Context, key string) error { … } func (rv *ResourceVersionController) getLatestResourceVersion(gvr schema.GroupVersionResource, ctx context.Context) (string, error) { … } func (rv *ResourceVersionController) resourceExists(gvr schema.GroupVersionResource) (bool, error) { … } func (rv *ResourceVersionController) isResourceNamespaceScoped(gvr schema.GroupVersionResource) (bool, error) { … }