podvolume

package
v1.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2022 License: Apache-2.0 Imports: 20 Imported by: 1

Documentation

Index

Constants

View Source
const (
	// PVCNameAnnotation is the key for the annotation added to
	// pod volume backups when they're for a PVC.
	PVCNameAnnotation = "velero.io/pvc-name"

	// VolumesToBackupAnnotation is the annotation on a pod whose mounted volumes
	// need to be backed up using pod volume backup.
	VolumesToBackupAnnotation = "backup.velero.io/backup-volumes"

	// VolumesToExcludeAnnotation is the annotation on a pod whose mounted volumes
	// should be excluded from pod volume backup.
	VolumesToExcludeAnnotation = "backup.velero.io/backup-volumes-excludes"

	// 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.

func GetVolumesByPod

func GetVolumesByPod(pod *corev1api.Pod, defaultVolumesToFsBackup bool) []string

GetVolumesByPod returns a list of volume names to backup for the provided pod.

func GetVolumesToBackup

func GetVolumesToBackup(obj metav1.Object) []string

GetVolumesToBackup returns a list of volume names to backup for the provided pod. Deprecated: Use GetVolumesByPod instead.

Types

type Backupper

type Backupper interface {
	// BackupPodVolumes backs up all specified volumes in a pod.
	BackupPodVolumes(backup *velerov1api.Backup, pod *corev1api.Pod, volumesToBackup []string, log logrus.FieldLogger) ([]*velerov1api.PodVolumeBackup, []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.

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.RepositoryEnsurer,
	veleroClient clientset.Interface,
	pvcClient corev1client.PersistentVolumeClaimsGetter,
	repoInformerSynced cache.InformerSynced,
	log logrus.FieldLogger) RestorerFactory

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL