restore

package
v1.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 10, 2020 License: Apache-2.0 Imports: 48 Imported by: 0

Documentation

Overview

Copyright 2018 the Velero contributors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AddPVCFromPodAction

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

func NewAddPVCFromPodAction

func NewAddPVCFromPodAction(logger logrus.FieldLogger) *AddPVCFromPodAction

func (*AddPVCFromPodAction) AppliesTo

type AddPVFromPVCAction

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

func NewAddPVFromPVCAction

func NewAddPVFromPVCAction(logger logrus.FieldLogger) *AddPVFromPVCAction

func (*AddPVFromPVCAction) AppliesTo

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

type CRDV1PreserveUnknownFieldsAction

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

CRDV1PreserveUnknownFieldsAction will take a CRD and inspect it for the API version and the PreserveUnknownFields value. If the API Version is 1 and the PreserveUnknownFields value is True, then the x-preserve-unknown-fields value in the OpenAPIV3 schema will be set to True and PreserveUnknownFields set to False in order to allow Kubernetes 1.16+ servers to accept the object.

func NewCRDV1PreserveUnknownFieldsAction

func NewCRDV1PreserveUnknownFieldsAction(logger logrus.FieldLogger) *CRDV1PreserveUnknownFieldsAction

func (*CRDV1PreserveUnknownFieldsAction) AppliesTo

func (*CRDV1PreserveUnknownFieldsAction) Execute

type ChangeStorageClassAction

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

ChangeStorageClassAction updates a PV or PVC's storage class name if a mapping is found in the plugin's config map.

func NewChangeStorageClassAction

func NewChangeStorageClassAction(
	logger logrus.FieldLogger,
	configMapClient corev1client.ConfigMapInterface,
	storageClassClient storagev1client.StorageClassInterface,
) *ChangeStorageClassAction

NewChangeStorageClassAction is the constructor for ChangeStorageClassAction.

func (*ChangeStorageClassAction) AppliesTo

AppliesTo returns the resources that ChangeStorageClassAction should be run for.

func (*ChangeStorageClassAction) Execute

Execute updates the item's spec.storageClassName if a mapping is found in the config map for the plugin.

type ClusterRoleBindingAction

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

ClusterRoleBindingAction handle namespace remappings for role bindings

func NewClusterRoleBindingAction

func NewClusterRoleBindingAction(logger logrus.FieldLogger) *ClusterRoleBindingAction

func (*ClusterRoleBindingAction) AppliesTo

type JobAction

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

func NewJobAction

func NewJobAction(logger logrus.FieldLogger) *JobAction

func (*JobAction) AppliesTo

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

type PVRestorer

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

type PodAction

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

func NewPodAction

func NewPodAction(logger logrus.FieldLogger) *PodAction

func (*PodAction) AppliesTo

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

type Request

type Request struct {
	*velerov1api.Restore

	Log              logrus.FieldLogger
	Backup           *velerov1api.Backup
	PodVolumeBackups []*velerov1api.PodVolumeBackup
	VolumeSnapshots  []*volume.Snapshot
	BackupReader     io.Reader
}

type ResticRestoreAction

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

func (*ResticRestoreAction) AppliesTo

type Restorer

type Restorer interface {
	// Restore restores the backup data from backupReader, returning warnings and errors.
	Restore(req Request,
		actions []velero.RestoreItemAction,
		snapshotLocationLister listers.VolumeSnapshotLocationLister,
		volumeSnapshotterGetter VolumeSnapshotterGetter,
	) (Result, Result)
}

Restorer knows how to restore a backup.

func NewKubernetesRestorer

func NewKubernetesRestorer(
	discoveryHelper discovery.Helper,
	dynamicFactory client.DynamicFactory,
	resourcePriorities []string,
	namespaceClient corev1.NamespaceInterface,
	resticRestorerFactory restic.RestorerFactory,
	resticTimeout time.Duration,
	resourceTerminatingTimeout time.Duration,
	logger logrus.FieldLogger,
) (Restorer, error)

NewKubernetesRestorer creates a new kubernetesRestorer.

type Result

type Result struct {
	// Velero is a slice of messages related to the operation of Velero
	// itself (for example, messages related to connecting to the
	// cloud, reading a backup file, etc.)
	Velero []string `json:"velero,omitempty"`

	// Cluster is a slice of messages related to restoring cluster-
	// scoped resources.
	Cluster []string `json:"cluster,omitempty"`

	// Namespaces is a map of namespace name to slice of messages
	// related to restoring namespace-scoped resources.
	Namespaces map[string][]string `json:"namespaces,omitempty"`
}

Result is a collection of messages that were generated during execution of a restore. This will typically store either warning or error messages.

func (*Result) Add

func (r *Result) Add(ns string, e error)

Add appends an error to the provided Result, either within the cluster-scoped list (if ns == "") or within the provided namespace's entry.

func (*Result) AddVeleroError

func (r *Result) AddVeleroError(err error)

AddVeleroError appends an error to the provided Result's Velero list.

func (*Result) Merge

func (r *Result) Merge(other *Result)

Merge combines two Result objects into one by appending the corresponding lists to one another.

type RoleBindingAction

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

RoleBindingAction handle namespace remappings for role bindings

func NewRoleBindingAction

func NewRoleBindingAction(logger logrus.FieldLogger) *RoleBindingAction

func (*RoleBindingAction) AppliesTo

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

type ServiceAccountAction

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

func NewServiceAccountAction

func NewServiceAccountAction(logger logrus.FieldLogger) *ServiceAccountAction

func (*ServiceAccountAction) AppliesTo

type ServiceAction

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

func NewServiceAction

func NewServiceAction(logger logrus.FieldLogger) *ServiceAction

func (*ServiceAction) AppliesTo

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

type VolumeSnapshotterGetter

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