Versions in this module Expand all Collapse all v0 v0.0.230 Aug 29, 2025 v0.0.229 Aug 25, 2025 v0.0.228 Aug 16, 2025 v0.0.226 Aug 3, 2025 Changes in this version + const ClusterSharedVolumeAnnotationKey + const ClusterSharedVolumeOperationNamespace + const NfsServerGeneratingAnnotation + const SharedVolumeAnnotationKey + const SharedVolumePodFinalizer + const SyncControllerName + func ContainsString(slice []string, s string) bool + func RemoveString(slice []string, s string) []string + type ClusterSharedVolumeReconciler struct + func (r *ClusterSharedVolumeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) + func (r *ClusterSharedVolumeReconciler) SetupWithManager(mgr ctrl.Manager, controllerNamespace string) error + type ControllerSetupConfig struct + ControllerName string + ControllerNamespace string + PreSetupHook func(ctrl.Manager, *VolumeControllerBase) error + Runnables []manager.Runnable + VolumeType client.Object + type OneTimeRecoveryRunnable struct + func NewOneTimeRecoveryRunnable(name string, recoveryFunc func(context.Context) error, needsLeader bool) *OneTimeRecoveryRunnable + func (r *OneTimeRecoveryRunnable) NeedLeaderElection() bool + func (r *OneTimeRecoveryRunnable) Start(ctx context.Context) error + type PodCleanupReconciler struct + Scheme *runtime.Scheme + func (r *PodCleanupReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) + func (r *PodCleanupReconciler) SetupWithManager(mgr ctrl.Manager) error + type SharedVolumeReconciler struct + func (r *SharedVolumeReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) + func (r *SharedVolumeReconciler) SetupWithManager(mgr ctrl.Manager, controllerNamespace string) error + type SharedVolumeRef struct + Name string + Namespace string + type SyncController struct + Scheme *runtime.Scheme + func NewSyncController(client client.Client, scheme *runtime.Scheme) *SyncController + func (s *SyncController) RecoverSyncOperations(ctx context.Context) error + func (s *SyncController) StartSyncForClusterSharedVolume(ctx context.Context, csv *svv1alpha1.ClusterSharedVolume) error + func (s *SyncController) StartSyncForSharedVolume(ctx context.Context, sv *svv1alpha1.SharedVolume) error + func (s *SyncController) StopSyncForClusterSharedVolume(csv *svv1alpha1.ClusterSharedVolume) + func (s *SyncController) StopSyncForSharedVolume(sv *svv1alpha1.SharedVolume) + type SyncRequest struct + Source SyncSource + Target SyncTarget + Timeout string + type SyncSource struct + Details interface{} + Type string + type SyncSourceGit struct + Branch string + Password string + PrivateKey string + URL string + User string + type SyncSourceHTTP struct + URL string + type SyncSourceS3 struct + AccessKey string + BucketName string + EndpointURL string + Path string + Region string + SecretKey string + type SyncSourceSSH struct + Host string + Password string + Path string + Port int + PrivateKey string + User string + type SyncTarget struct + Path string + type VolumeControllerBase struct + ControllerNamespace string + Scheme *runtime.Scheme + SyncController *SyncController + func NewVolumeControllerBase(client client.Client, scheme *runtime.Scheme, controllerNamespace string, ...) *VolumeControllerBase + func (b *VolumeControllerBase) CleanupAllPVCs(ctx context.Context, volume VolumeObject, referenceValue string) + func (b *VolumeControllerBase) CleanupAllPVCsInNamespace(ctx context.Context, volume VolumeObject, referenceValue string, ...) + func (b *VolumeControllerBase) CleanupAllPVs(ctx context.Context, volume VolumeObject, referenceValue string) + func (b *VolumeControllerBase) CleanupAllPVsWithWait(ctx context.Context, volume VolumeObject, referenceValue string) + func (b *VolumeControllerBase) CleanupAllPodsUsingVolume(ctx context.Context, volume VolumeObject) + func (b *VolumeControllerBase) CleanupAllPodsUsingVolumeInNamespace(ctx context.Context, volume VolumeObject, operationalNamespace string) + func (b *VolumeControllerBase) CleanupNFSServer(ctx context.Context, volume VolumeObject) + func (b *VolumeControllerBase) CleanupNFSServerInNamespace(ctx context.Context, volume VolumeObject, operationalNamespace string) + func (b *VolumeControllerBase) CleanupReplicaSet(ctx context.Context, volume VolumeObject, referenceValue string) + func (b *VolumeControllerBase) CleanupReplicaSetInNamespace(ctx context.Context, volume VolumeObject, referenceValue string, ...) + func (b *VolumeControllerBase) CleanupResources(ctx context.Context, volume VolumeObject) error + func (b *VolumeControllerBase) CleanupResourcesInNamespace(ctx context.Context, volume VolumeObject, operationalNamespace string) error + func (b *VolumeControllerBase) CleanupService(ctx context.Context, volume VolumeObject, referenceValue string) + func (b *VolumeControllerBase) CleanupServiceInNamespace(ctx context.Context, volume VolumeObject, referenceValue string, ...) + func (b *VolumeControllerBase) ForceCleanupAllResources(ctx context.Context, volume VolumeObject, referenceValue string) + func (b *VolumeControllerBase) ForceCleanupAllResourcesInNamespace(ctx context.Context, volume VolumeObject, referenceValue string, ...) + func (b *VolumeControllerBase) ForceDeletePV(ctx context.Context, pv *corev1.PersistentVolume) error + func (b *VolumeControllerBase) ForceDeletePVC(ctx context.Context, pvc *corev1.PersistentVolumeClaim) error + func (b *VolumeControllerBase) ForceDeletePod(ctx context.Context, pod *corev1.Pod) error + func (b *VolumeControllerBase) RemovePVCFinalizersWithRetry(ctx context.Context, pvc *corev1.PersistentVolumeClaim) error + func (b *VolumeControllerBase) RemovePVFinalizersWithRetry(ctx context.Context, pv *corev1.PersistentVolume) error + func (b *VolumeControllerBase) WaitForPodsToTerminate(ctx context.Context, volume VolumeObject, referenceValue string) + func (r *VolumeControllerBase) CheckAndUpdateNfsServerStatus(ctx context.Context, volumeObj VolumeObject, namespace string) (ctrl.Result, error) + func (r *VolumeControllerBase) CheckNfsServerStatus(ctx context.Context, volumeObj VolumeObject, namespace string) (bool, string, string, error) + func (r *VolumeControllerBase) CheckResourceReadiness(ctx context.Context, volumeObj VolumeObject, namespace string, ...) error + func (r *VolumeControllerBase) CreateAndOwnNfsServer(ctx context.Context, volumeObj VolumeObject, namespace string) error + func (r *VolumeControllerBase) CreateNoOpNotReadyCallback() func(context.Context, VolumeObject) error + func (r *VolumeControllerBase) CreateNoOpReadyCallback() func(context.Context, VolumeObject) error + func (r *VolumeControllerBase) CreateSyncControllerSetupHook(createSyncController func(client.Client, *runtime.Scheme) *SyncController, ...) func(ctrl.Manager, *VolumeControllerBase) error + func (r *VolumeControllerBase) CreateSyncNotReadyCallback() func(context.Context, VolumeObject) error + func (r *VolumeControllerBase) CreateSyncReadyCallback() func(context.Context, VolumeObject) error + func (r *VolumeControllerBase) DeterminePhase(nfsReady, replicaSetReady bool) string + func (r *VolumeControllerBase) EnsureAPIVersionAndKind(obj client.Object, apiVersion, kind string) + func (r *VolumeControllerBase) EnsureControllerNamespace(ctx context.Context) error + func (r *VolumeControllerBase) FillAndValidateSpec(volumeObj VolumeObject, generateNfsServer bool, namespace string) error + func (r *VolumeControllerBase) GenerateAndCreateNfsServer(ctx context.Context, volumeObj VolumeObject, resourcePrefix string, ...) (ctrl.Result, error) + func (r *VolumeControllerBase) GetManagedNfsServerAddress(volumeObj VolumeObject, nfsServerSpec *svv1alpha1.NfsServerSpec) string + func (r *VolumeControllerBase) HandleFinalizerLogic(ctx context.Context, obj client.Object, finalizerName string) (bool, error) + func (r *VolumeControllerBase) IsExternalNfsServer(nfsServerSpec *svv1alpha1.NfsServerSpec) bool + func (r *VolumeControllerBase) IsPVCReady(ctx context.Context, volumeObj VolumeObject, namespace string) (bool, error) + func (r *VolumeControllerBase) IsReplicaSetReady(ctx context.Context, volumeObj VolumeObject, namespace string) (bool, error) + func (r *VolumeControllerBase) RandString(n int) string + func (r *VolumeControllerBase) ReconcileGeneric(ctx context.Context, req ctrl.Request, config VolumeReconcileConfig) (ctrl.Result, error) + func (r *VolumeControllerBase) ReconcileNfsServer(ctx context.Context, volumeObj VolumeObject, generateNfsServer bool, ...) (ctrl.Result, error) + func (r *VolumeControllerBase) ReconcileNfsServerComplete(ctx context.Context, volumeObj VolumeObject, namespace string, ...) (ctrl.Result, error) + func (r *VolumeControllerBase) ReconcilePersistentVolume(ctx context.Context, volumeObj VolumeObject, namespace string) error + func (r *VolumeControllerBase) ReconcilePersistentVolumeClaim(ctx context.Context, volumeObj VolumeObject, namespace string) error + func (r *VolumeControllerBase) ReconcileReplicaSet(ctx context.Context, volumeObj VolumeObject, namespace string) error + func (r *VolumeControllerBase) ReconcileRequiredResources(ctx context.Context, volumeObj VolumeObject, namespace string) error + func (r *VolumeControllerBase) ReconcileService(ctx context.Context, volumeObj VolumeObject, namespace string) error + func (r *VolumeControllerBase) ReconcileVolume(ctx context.Context, req ctrl.Request, volumeObj VolumeObject, ...) (ctrl.Result, error) + func (r *VolumeControllerBase) RemoveFinalizerWithRetry(ctx context.Context, obj client.Object, finalizerName string) error + func (r *VolumeControllerBase) SetupGenericController(mgr ctrl.Manager, config ControllerSetupConfig, reconciler interface{}) error + func (r *VolumeControllerBase) ShouldUpdateReadinessStatus(volumeObj VolumeObject, nfsReady, replicaSetReady bool) bool + func (r *VolumeControllerBase) UpdateReadinessStatus(ctx context.Context, volumeObj VolumeObject, nfsReady, replicaSetReady bool, ...) error + func (r *VolumeControllerBase) UpdateStatusWithRetry(ctx context.Context, obj client.Object, updateFn func(client.Object)) error + func (r *VolumeControllerBase) UpdateVolumeStatus(volumeObj VolumeObject, nfsReady bool, phase string, message string) bool + func (r *VolumeControllerBase) UpdateVolumeStatusSimple(volumeObj VolumeObject, phase string, message string) bool + type VolumeObject interface + GetMessage func() string + GetNfsServerAddress func() string + GetPersistentVolumeClaimName func() string + GetPersistentVolumeName func() string + GetPhase func() string + GetServiceName func() string + GetVolumeSpec func() *svv1alpha1.VolumeSpecBase + SetMessage func(message string) + SetNfsServerAddress func(address string) + SetPersistentVolumeClaimName func(name string) + SetPersistentVolumeName func(name string) + SetPhase func(phase string) + SetServiceName func(name string) + type VolumeReconcileConfig struct + APIVersion string + CreateNotReadyCallback func() func(context.Context, VolumeObject) error + CreateReadyCallback func() func(context.Context, VolumeObject) error + FinalizerName string + Kind string + Namespace string + VolumeObjFactory func() VolumeObject + type VolumeRef struct + IsCluster bool + Name string + Namespace string