backup

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: May 20, 2019 License: Apache-2.0 Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const BackupVersion = 1

BackupVersion is the current backup version for Velero.

Variables

This section is empty.

Functions

func NewClusterRoleBindingListerMap added in v0.9.1

func NewClusterRoleBindingListerMap(clientset kubernetes.Interface) map[string]ClusterRoleBindingLister

NewClusterRoleBindingListerMap creates a map of RBAC version strings to their associated ClusterRoleBindingLister structs. Necessary so that callers to the ClusterRoleBindingLister interfaces don't need the kubernetes.Interface.

func NewDeleteBackupRequest added in v0.8.0

func NewDeleteBackupRequest(name string, uid string) *v1.DeleteBackupRequest

NewDeleteBackupRequest creates a DeleteBackupRequest for the backup identified by name and uid.

func NewDeleteBackupRequestListOptions added in v0.8.0

func NewDeleteBackupRequestListOptions(name, uid string) metav1.ListOptions

NewDeleteBackupRequestListOptions creates a ListOptions with a label selector configured to find DeleteBackupRequests for the backup identified by name and uid.

Types

type Backupper

type Backupper interface {
	// Backup takes a backup using the specification in the api.Backup and writes backup and log data
	// to the given writers.
	Backup(logger logrus.FieldLogger, backup *Request, backupFile io.Writer, actions []velero.BackupItemAction, volumeSnapshotterGetter VolumeSnapshotterGetter) error
}

Backupper performs backups.

func NewKubernetesBackupper

func NewKubernetesBackupper(
	discoveryHelper discovery.Helper,
	dynamicFactory client.DynamicFactory,
	podCommandExecutor podexec.PodCommandExecutor,
	resticBackupperFactory restic.BackupperFactory,
	resticTimeout time.Duration,
) (Backupper, error)

NewKubernetesBackupper creates a new kubernetesBackupper.

type ClusterRoleBinding added in v0.9.1

type ClusterRoleBinding interface {
	// Name returns the name of a ClusterRoleBinding.
	Name() string
	// ServiceAccountSubjects returns the names of subjects that are service accounts in the given namespace.
	ServiceAccountSubjects(namespace string) []string
	// RoleRefName returns the name of a ClusterRoleBinding's RoleRef.
	RoleRefName() string
}

ClusterRoleBinding abstracts access to ClusterRoleBindings whether they're v1 or v1beta1.

type ClusterRoleBindingLister added in v0.9.1

type ClusterRoleBindingLister interface {
	// List returns a slice of ClusterRoleBindings which can represent either v1 or v1beta1 ClusterRoleBindings.
	List() ([]ClusterRoleBinding, error)
}

ClusterRoleBindingLister allows for listing ClusterRoleBindings in a version-independent way.

type ItemBackupper added in v0.5.0

type ItemBackupper interface {
	// contains filtered or unexported methods
}

type PVCAction added in v1.0.0

type PVCAction struct {
	// contains filtered or unexported fields
}

PVCAction inspects a PersistentVolumeClaim for the PersistentVolume that it references and backs it up

func NewPVCAction added in v1.0.0

func NewPVCAction(logger logrus.FieldLogger) *PVCAction

func (*PVCAction) AppliesTo added in v1.0.0

func (a *PVCAction) AppliesTo() (velero.ResourceSelector, error)

func (*PVCAction) Execute added in v1.0.0

Execute finds the PersistentVolume bound by the provided PersistentVolumeClaim, if any, and backs it up

type PodAction added in v1.0.0

type PodAction struct {
	// contains filtered or unexported fields
}

PodAction implements ItemAction.

func NewPodAction added in v0.7.0

func NewPodAction(logger logrus.FieldLogger) *PodAction

NewPodAction creates a new ItemAction for pods.

func (*PodAction) AppliesTo added in v1.0.0

func (a *PodAction) AppliesTo() (velero.ResourceSelector, error)

AppliesTo returns a ResourceSelector that applies only to pods.

func (*PodAction) Execute added in v1.0.0

Execute scans the pod's spec.volumes for persistentVolumeClaim volumes and returns a ResourceIdentifier list containing references to all of the persistentVolumeClaim volumes used by the pod. This ensures that when a pod is backed up, all referenced PVCs are backed up too.

type Request added in v0.10.0

type Request struct {
	*velerov1api.Backup

	StorageLocation           *velerov1api.BackupStorageLocation
	SnapshotLocations         []*velerov1api.VolumeSnapshotLocation
	NamespaceIncludesExcludes *collections.IncludesExcludes
	ResourceIncludesExcludes  *collections.IncludesExcludes
	ResourceHooks             []resourceHook
	ResolvedActions           []resolvedAction

	VolumeSnapshots []*volume.Snapshot
}

Request is a request for a backup, with all references to other objects materialized (e.g. backup/snapshot locations, includes/excludes, etc.)

type ServiceAccountAction added in v1.0.0

type ServiceAccountAction struct {
	// contains filtered or unexported fields
}

ServiceAccountAction implements ItemAction.

func NewServiceAccountAction added in v0.9.0

func NewServiceAccountAction(logger logrus.FieldLogger, clusterRoleBindingListers map[string]ClusterRoleBindingLister, discoveryHelper velerodiscovery.Helper) (*ServiceAccountAction, error)

NewServiceAccountAction creates a new ItemAction for service accounts.

func (*ServiceAccountAction) AppliesTo added in v1.0.0

AppliesTo returns a ResourceSelector that applies only to service accounts.

func (*ServiceAccountAction) Execute added in v1.0.0

Execute checks for any ClusterRoleBindings that have this service account as a subject, and adds the ClusterRoleBinding and associated ClusterRole to the list of additional items to be backed up.

type VolumeSnapshotterGetter added in v1.0.0

type VolumeSnapshotterGetter interface {
	GetVolumeSnapshotter(name string) (velero.VolumeSnapshotter, error)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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