Documentation ¶
Index ¶
- Constants
- func GetPvbRepositoryType(pvb *velerov1api.PodVolumeBackup) string
- func GetPvrRepositoryType(pvr *velerov1api.PodVolumeRestore) string
- func GetSnapshotIdentifier(podVolumeBackups *velerov1api.PodVolumeBackupList) []repository.SnapshotIdentifier
- func GetVolumeBackupsForPod(podVolumeBackups []*velerov1api.PodVolumeBackup, pod *corev1api.Pod, ...) map[string]string
- type Backupper
- type BackupperFactory
- type PVCBackupSummary
- type RestoreData
- type Restorer
- type RestorerFactory
Constants ¶
const ( // PVCNameAnnotation is the key for the annotation added to // pod volume backups when they're for a PVC. PVCNameAnnotation = "velero.io/pvc-name" // DefaultVolumesToFsBackup specifies whether pod volume backup should be used, by default, to // take backup of all pod volumes. DefaultVolumesToFsBackup = false )
Variables ¶
This section is empty.
Functions ¶
func GetPvbRepositoryType ¶
func GetPvbRepositoryType(pvb *velerov1api.PodVolumeBackup) string
GetPvbRepositoryType returns the repositoryType according to the PVB information
func GetPvrRepositoryType ¶
func GetPvrRepositoryType(pvr *velerov1api.PodVolumeRestore) string
GetPvrRepositoryType returns the repositoryType according to the PVR information
func GetSnapshotIdentifier ¶
func GetSnapshotIdentifier(podVolumeBackups *velerov1api.PodVolumeBackupList) []repository.SnapshotIdentifier
GetSnapshotIdentifier returns the snapshots represented by SnapshotIdentifier for the given PVBs
func GetVolumeBackupsForPod ¶
func GetVolumeBackupsForPod(podVolumeBackups []*velerov1api.PodVolumeBackup, pod *corev1api.Pod, sourcePodNs string) map[string]string
GetVolumeBackupsForPod returns a map, of volume name -> snapshot id, of the PodVolumeBackups that exist for the provided pod.
Types ¶
type Backupper ¶
type Backupper interface { // BackupPodVolumes backs up all specified volumes in a pod. BackupPodVolumes(backup *velerov1api.Backup, pod *corev1api.Pod, volumesToBackup []string, resPolicies *resourcepolicies.Policies, log logrus.FieldLogger) ([]*velerov1api.PodVolumeBackup, *PVCBackupSummary, []error) }
Backupper can execute pod volume backups of volumes in a pod.
type BackupperFactory ¶
type BackupperFactory interface { // NewBackupper returns a pod volumes backupper for use during a single Velero backup. NewBackupper(context.Context, *velerov1api.Backup, string) (Backupper, error) }
BackupperFactory can construct pod volumes backuppers.
func NewBackupperFactory ¶
func NewBackupperFactory( repoLocker *repository.RepoLocker, repoEnsurer *repository.Ensurer, veleroClient clientset.Interface, pvcClient corev1client.PersistentVolumeClaimsGetter, pvClient corev1client.PersistentVolumesGetter, podClient corev1client.PodsGetter, log logrus.FieldLogger, ) BackupperFactory
type PVCBackupSummary ¶ added in v1.12.0
type PVCBackupSummary struct { Backedup map[string]*corev1api.PersistentVolumeClaim Skipped map[string]*skippedPVC // contains filtered or unexported fields }
PVCBackupSummary is a summary for which PVCs are skipped, which are backed up after each execution of the Backupper The scope should be within one pod, so the volume name is the key for the maps
func NewPVCBackupSummary ¶ added in v1.12.0
func NewPVCBackupSummary() *PVCBackupSummary
type RestoreData ¶
type RestoreData struct { Restore *velerov1api.Restore Pod *corev1api.Pod PodVolumeBackups []*velerov1api.PodVolumeBackup SourceNamespace, BackupLocation string }
type Restorer ¶
type Restorer interface { // RestorePodVolumes restores all annotated volumes in a pod. RestorePodVolumes(RestoreData) []error }
Restorer can execute pod volume restores of volumes in a pod.
type RestorerFactory ¶
type RestorerFactory interface { // NewRestorer returns a pod volumes restorer for use during a single Velero restore. NewRestorer(context.Context, *velerov1api.Restore) (Restorer, error) }
RestorerFactory can construct pod volumes restorers.
func NewRestorerFactory ¶
func NewRestorerFactory(repoLocker *repository.RepoLocker, repoEnsurer *repository.Ensurer, veleroClient clientset.Interface, pvcClient corev1client.PersistentVolumeClaimsGetter, podClient corev1client.PodsGetter, kubeClient kubernetes.Interface, log logrus.FieldLogger) RestorerFactory