Documentation ¶
Index ¶
- Constants
- type ApiVersionFetcher
- type ApplicationCreator
- type ArgumentValidator
- type CSI
- type Cleaner
- type DataValidator
- type FileRestoreRunner
- type FileRestoreStepper
- type KubeExecutor
- type PVCBrowseRunner
- type PVCBrowserStepper
- type PortForwarder
- type SnapshotBrowseRunner
- type SnapshotBrowserStepper
- type SnapshotCreator
- type SnapshotRestoreRunner
- func (r *SnapshotRestoreRunner) RunSnapshotRestore(ctx context.Context, args *types.CSISnapshotRestoreArgs) (*types.CSISnapshotRestoreResults, error)
- func (r *SnapshotRestoreRunner) RunSnapshotRestoreHelper(ctx context.Context, args *types.CSISnapshotRestoreArgs) (*types.CSISnapshotRestoreResults, error)
- type SnapshotRestoreStepper
Constants ¶
View Source
const ( PVCKind = "PersistentVolumeClaim" PodKind = "Pod" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiVersionFetcher ¶
type ApiVersionFetcher interface {
GetCSISnapshotGroupVersion() (*metav1.GroupVersionForDiscovery, error)
}
type ApplicationCreator ¶
type ApplicationCreator interface { CreatePVC(ctx context.Context, args *types.CreatePVCArgs) (*v1.PersistentVolumeClaim, error) CreatePod(ctx context.Context, args *types.CreatePodArgs) (*v1.Pod, error) WaitForPVCReady(ctx context.Context, namespace string, pvcName string) error WaitForPodReady(ctx context.Context, namespace string, podName string) error }
func NewApplicationCreator ¶
func NewApplicationCreator(kubeCli kubernetes.Interface, k8sObjectReadyTimeout time.Duration) ApplicationCreator
type ArgumentValidator ¶
type ArgumentValidator interface { //Rename ValidatePVC(ctx context.Context, pvcName, namespace string) (*v1.PersistentVolumeClaim, error) FetchPV(ctx context.Context, pvName string) (*v1.PersistentVolume, error) ValidateVolumeSnapshot(ctx context.Context, snapshotName, namespace string, groupVersion *metav1.GroupVersionForDiscovery) (*snapv1.VolumeSnapshot, error) ValidateNamespace(ctx context.Context, namespace string) error ValidateStorageClass(ctx context.Context, storageClass string) (*sv1.StorageClass, error) ValidateVolumeSnapshotClass(ctx context.Context, volumeSnapshotClass string, groupVersion *metav1.GroupVersionForDiscovery) (*unstructured.Unstructured, error) }
func NewArgumentValidator ¶
func NewArgumentValidator(kubeCli kubernetes.Interface, dynCli dynamic.Interface) ArgumentValidator
type CSI ¶
type CSI interface {
RunSnapshotRestore(ctx context.Context, args *types.CSISnapshotRestoreArgs) (*types.CSISnapshotRestoreResults, error)
}
type Cleaner ¶
type Cleaner interface { DeletePVC(ctx context.Context, pvcName string, namespace string) error DeletePod(ctx context.Context, podName string, namespace string) error DeleteSnapshot(ctx context.Context, snapshotName string, namespace string, SnapshotGroupVersion *metav1.GroupVersionForDiscovery) error }
func NewCleaner ¶
func NewCleaner(kubeCli kubernetes.Interface, dynCli dynamic.Interface) Cleaner
type DataValidator ¶
type FileRestoreRunner ¶
type FileRestoreRunner struct { KubeCli kubernetes.Interface DynCli dynamic.Interface // contains filtered or unexported fields }
func (*FileRestoreRunner) RunFileRestore ¶
func (f *FileRestoreRunner) RunFileRestore(ctx context.Context, args *types.FileRestoreArgs) error
func (*FileRestoreRunner) RunFileRestoreHelper ¶
func (f *FileRestoreRunner) RunFileRestoreHelper(ctx context.Context, args *types.FileRestoreArgs) error
type FileRestoreStepper ¶
type FileRestoreStepper interface { ValidateArgs(ctx context.Context, args *types.FileRestoreArgs) (*snapv1.VolumeSnapshot, *v1.PersistentVolumeClaim, *v1.PersistentVolumeClaim, *sv1.StorageClass, error) CreateInspectorApplication(ctx context.Context, args *types.FileRestoreArgs, snapshot *snapv1.VolumeSnapshot, restorePVC *v1.PersistentVolumeClaim, sourcePVC *v1.PersistentVolumeClaim, storageClass *sv1.StorageClass) (*v1.Pod, *v1.PersistentVolumeClaim, string, error) ExecuteCopyCommand(ctx context.Context, args *types.FileRestoreArgs, pod *v1.Pod, restoreMountPath string) (string, error) PortForwardAPod(pod *v1.Pod, localPort int) error Cleanup(ctx context.Context, args *types.FileRestoreArgs, restorePVC *v1.PersistentVolumeClaim, pod *v1.Pod) }
type KubeExecutor ¶
type PVCBrowseRunner ¶
type PVCBrowseRunner struct { KubeCli kubernetes.Interface DynCli dynamic.Interface // contains filtered or unexported fields }
func (*PVCBrowseRunner) RunPVCBrowse ¶
func (r *PVCBrowseRunner) RunPVCBrowse(ctx context.Context, args *types.PVCBrowseArgs) error
func (*PVCBrowseRunner) RunPVCBrowseHelper ¶
func (r *PVCBrowseRunner) RunPVCBrowseHelper(ctx context.Context, args *types.PVCBrowseArgs) error
type PVCBrowserStepper ¶
type PVCBrowserStepper interface { ValidateArgs(ctx context.Context, args *types.PVCBrowseArgs) (*sv1.StorageClass, error) SnapshotPVC(ctx context.Context, args *types.PVCBrowseArgs, snapshotName string) (*snapv1.VolumeSnapshot, error) CreateInspectorApplication(ctx context.Context, args *types.PVCBrowseArgs, snapshot *snapv1.VolumeSnapshot, storageClass *sv1.StorageClass) (*v1.Pod, *v1.PersistentVolumeClaim, error) ExecuteTreeCommand(ctx context.Context, args *types.PVCBrowseArgs, pod *v1.Pod) (string, error) PortForwardAPod(ctx context.Context, pod *v1.Pod, localPort int) error Cleanup(ctx context.Context, pvc *v1.PersistentVolumeClaim, pod *v1.Pod, snapshot *snapv1.VolumeSnapshot) }
type PortForwarder ¶
type SnapshotBrowseRunner ¶
type SnapshotBrowseRunner struct { KubeCli kubernetes.Interface DynCli dynamic.Interface // contains filtered or unexported fields }
func (*SnapshotBrowseRunner) RunSnapshotBrowse ¶
func (r *SnapshotBrowseRunner) RunSnapshotBrowse(ctx context.Context, args *types.SnapshotBrowseArgs) error
func (*SnapshotBrowseRunner) RunSnapshotBrowseHelper ¶
func (r *SnapshotBrowseRunner) RunSnapshotBrowseHelper(ctx context.Context, args *types.SnapshotBrowseArgs) error
type SnapshotBrowserStepper ¶
type SnapshotBrowserStepper interface { ValidateArgs(ctx context.Context, args *types.SnapshotBrowseArgs) (*snapv1.VolumeSnapshot, *sv1.StorageClass, error) CreateInspectorApplication(ctx context.Context, args *types.SnapshotBrowseArgs, snapshot *snapv1.VolumeSnapshot, storageClass *sv1.StorageClass) (*v1.Pod, *v1.PersistentVolumeClaim, error) ExecuteTreeCommand(ctx context.Context, args *types.SnapshotBrowseArgs, pod *v1.Pod) (string, error) PortForwardAPod(ctx context.Context, pod *v1.Pod, localPort int) error Cleanup(ctx context.Context, pvc *v1.PersistentVolumeClaim, pod *v1.Pod) }
type SnapshotCreator ¶
type SnapshotCreator interface { NewSnapshotter() (kansnapshot.Snapshotter, error) CreateSnapshot(ctx context.Context, snapshotter kansnapshot.Snapshotter, args *types.CreateSnapshotArgs) (*snapv1.VolumeSnapshot, error) CreateFromSourceCheck(ctx context.Context, snapshotter kansnapshot.Snapshotter, args *types.CreateFromSourceCheckArgs, SnapshotGroupVersion *metav1.GroupVersionForDiscovery) error }
type SnapshotRestoreRunner ¶
type SnapshotRestoreRunner struct { KubeCli kubernetes.Interface DynCli dynamic.Interface // contains filtered or unexported fields }
func (*SnapshotRestoreRunner) RunSnapshotRestore ¶
func (r *SnapshotRestoreRunner) RunSnapshotRestore(ctx context.Context, args *types.CSISnapshotRestoreArgs) (*types.CSISnapshotRestoreResults, error)
func (*SnapshotRestoreRunner) RunSnapshotRestoreHelper ¶
func (r *SnapshotRestoreRunner) RunSnapshotRestoreHelper(ctx context.Context, args *types.CSISnapshotRestoreArgs) (*types.CSISnapshotRestoreResults, error)
type SnapshotRestoreStepper ¶
type SnapshotRestoreStepper interface { ValidateArgs(ctx context.Context, args *types.CSISnapshotRestoreArgs) error CreateApplication(ctx context.Context, args *types.CSISnapshotRestoreArgs, data string) (*v1.Pod, *v1.PersistentVolumeClaim, error) ValidateData(ctx context.Context, pod *v1.Pod, data string) error SnapshotApplication(ctx context.Context, args *types.CSISnapshotRestoreArgs, pvc *v1.PersistentVolumeClaim, snapshotName string) (*snapv1.VolumeSnapshot, error) RestoreApplication(ctx context.Context, args *types.CSISnapshotRestoreArgs, snapshot *snapv1.VolumeSnapshot) (*v1.Pod, *v1.PersistentVolumeClaim, error) Cleanup(ctx context.Context, results *types.CSISnapshotRestoreResults) }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.