BackupSpec defines the specification for a Velero backup.
csiSnapshotTimeout
string
CSISnapshotTimeout specifies the time used to wait for CSI VolumeSnapshot status turns to
ReadyToUse during creation, before returning error as timeout.
The default value is 10 minute.
datamover
string
DataMover specifies the data mover to be used by the backup.
If DataMover is "" or "velero", the built-in data mover will be used.
defaultVolumesToFsBackup
boolean
DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used
for all volumes by default.
defaultVolumesToRestic
boolean
DefaultVolumesToRestic specifies whether restic should be used to take a
backup of all pod volumes by default.
Deprecated: this field is no longer used and will be removed entirely in future. Use DefaultVolumesToFsBackup instead.
excludedClusterScopedResources
[]string
ExcludedClusterScopedResources is a slice of cluster-scoped
resource type names to exclude from the backup.
If set to "*", all cluster-scoped resource types are excluded.
The default value is empty.
excludedNamespaceScopedResources
[]string
ExcludedNamespaceScopedResources is a slice of namespace-scoped
resource type names to exclude from the backup.
If set to "*", all namespace-scoped resource types are excluded.
The default value is empty.
excludedNamespaces
[]string
ExcludedNamespaces contains a list of namespaces that are not
included in the backup.
excludedResources
[]string
ExcludedResources is a slice of resource names that are not
included in the backup.
hooks
object
Hooks represent custom behaviors that should be executed at different phases of the backup.
resources
[]object
Resources are hooks that should be executed when backing up individual instances of a resource.
excludedNamespaces
[]string
ExcludedNamespaces specifies the namespaces to which this hook spec does not apply.
excludedResources
[]string
ExcludedResources specifies the resources to which this hook spec does not apply.
includedNamespaces
[]string
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
to all namespaces.
includedResources
[]string
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
to all resources.
labelSelector
object
LabelSelector, if specified, filters the resources to which this hook spec applies.
matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
matchLabels
object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
name
string required
Name is the name of this hook.
post
[]object
PostHooks is a list of BackupResourceHooks to execute after storing the item in the backup.
These are executed after all "additional items" from item actions are processed.
exec
object required
Exec defines an exec hook.
command
[]string required
Command is the command and arguments to execute.
minItems: 1
container
string
Container is the container in the pod where the command should be executed. If not specified,
the pod's first container is used.
onError
string
OnError specifies how Velero should behave if it encounters an error executing this hook.
enum: Continue, Fail
timeout
string
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
considering the execution a failure.
pre
[]object
PreHooks is a list of BackupResourceHooks to execute prior to storing the item in the backup.
These are executed before any "additional items" from item actions are processed.
exec
object required
Exec defines an exec hook.
command
[]string required
Command is the command and arguments to execute.
minItems: 1
container
string
Container is the container in the pod where the command should be executed. If not specified,
the pod's first container is used.
onError
string
OnError specifies how Velero should behave if it encounters an error executing this hook.
enum: Continue, Fail
timeout
string
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
considering the execution a failure.
includeClusterResources
boolean
IncludeClusterResources specifies whether cluster-scoped resources
should be included for consideration in the backup.
includedClusterScopedResources
[]string
IncludedClusterScopedResources is a slice of cluster-scoped
resource type names to include in the backup.
If set to "*", all cluster-scoped resource types are included.
The default value is empty, which means only related
cluster-scoped resources are included.
includedNamespaceScopedResources
[]string
IncludedNamespaceScopedResources is a slice of namespace-scoped
resource type names to include in the backup.
The default value is "*".
includedNamespaces
[]string
IncludedNamespaces is a slice of namespace names to include objects
from. If empty, all namespaces are included.
includedResources
[]string
IncludedResources is a slice of resource names to include
in the backup. If empty, all resources are included.
itemOperationTimeout
string
ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations
The default value is 4 hour.
labelSelector
object
LabelSelector is a metav1.LabelSelector to filter with
when adding individual objects to the backup. If empty
or nil, all objects are included. Optional.
matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
matchLabels
object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
metadata
object
orLabelSelectors
[]object
OrLabelSelectors is list of metav1.LabelSelector to filter with
when adding individual objects to the backup. If multiple provided
they will be joined by the OR operator. LabelSelector as well as
OrLabelSelectors cannot co-exist in backup request, only one of them
can be used.
matchExpressions
[]object
matchExpressions is a list of label selector requirements. The requirements are ANDed.
key
string required
key is the label key that the selector applies to.
operator
string required
operator represents a key's relationship to a set of values.
Valid operators are In, NotIn, Exists and DoesNotExist.
values
[]string
values is an array of string values. If the operator is In or NotIn,
the values array must be non-empty. If the operator is Exists or DoesNotExist,
the values array must be empty. This array is replaced during a strategic
merge patch.
matchLabels
object
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
map is equivalent to an element of matchExpressions, whose key field is "key", the
operator is "In", and the values array contains only "value". The requirements are ANDed.
orderedResources
object
OrderedResources specifies the backup order of resources of specific Kind.
The map key is the resource name and value is a list of object names separated by commas.
Each resource name has format "namespace/objectname". For cluster resources, simply use "objectname".
resourcePolicy
object
ResourcePolicy specifies the referenced resource policies that backup should follow
apiGroup
string
APIGroup is the group for the resource being referenced.
If APIGroup is not specified, the specified Kind must be in the core API group.
For any other third-party types, APIGroup is required.
kind
string required
Kind is the type of resource being referenced
name
string required
Name is the name of resource being referenced
snapshotMoveData
boolean
SnapshotMoveData specifies whether snapshot data should be moved
snapshotVolumes
boolean
SnapshotVolumes specifies whether to take snapshots
of any PV's referenced in the set of objects included
in the Backup.
storageLocation
string
StorageLocation is a string containing the name of a BackupStorageLocation where the backup should be stored.
ttl
string
TTL is a time.Duration-parseable string describing how long
the Backup should be retained for.
uploaderConfig
object
UploaderConfig specifies the configuration for the uploader.
parallelFilesUpload
integer
ParallelFilesUpload is the number of files parallel uploads to perform when using the uploader.
volumeGroupSnapshotLabelKey
string
VolumeGroupSnapshotLabelKey specifies the label key to group PVCs under a VGS.
volumeSnapshotLocations
[]string
VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup.