3686 lines
155 KiB
YAML
3686 lines
155 KiB
YAML
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: backuprepositories.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: BackupRepository
|
|
listKind: BackupRepositoryList
|
|
plural: backuprepositories
|
|
singular: backuprepository
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .spec.repositoryType
|
|
name: Repository Type
|
|
type: string
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: BackupRepositorySpec is the specification for a BackupRepository.
|
|
properties:
|
|
backupStorageLocation:
|
|
description: |-
|
|
BackupStorageLocation is the name of the BackupStorageLocation
|
|
that should contain this repository.
|
|
type: string
|
|
maintenanceFrequency:
|
|
description: MaintenanceFrequency is how often maintenance should
|
|
be run.
|
|
type: string
|
|
repositoryType:
|
|
description: RepositoryType indicates the type of the backend repository
|
|
enum:
|
|
- kopia
|
|
- restic
|
|
- ""
|
|
type: string
|
|
resticIdentifier:
|
|
description: |-
|
|
ResticIdentifier is the full restic-compatible string for identifying
|
|
this repository.
|
|
type: string
|
|
volumeNamespace:
|
|
description: |-
|
|
VolumeNamespace is the namespace this backup repository contains
|
|
pod volume backups for.
|
|
type: string
|
|
required:
|
|
- backupStorageLocation
|
|
- maintenanceFrequency
|
|
- resticIdentifier
|
|
- volumeNamespace
|
|
type: object
|
|
status:
|
|
description: BackupRepositoryStatus is the current status of a BackupRepository.
|
|
properties:
|
|
lastMaintenanceTime:
|
|
description: LastMaintenanceTime is the last time maintenance was
|
|
run.
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
message:
|
|
description: Message is a message about the current status of the
|
|
BackupRepository.
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the BackupRepository.
|
|
enum:
|
|
- New
|
|
- Ready
|
|
- NotReady
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: backups.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: Backup
|
|
listKind: BackupList
|
|
plural: backups
|
|
singular: backup
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
Backup is a Velero resource that represents the capture of Kubernetes
|
|
cluster state at a point in time (API objects and associated volume state).
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: BackupSpec defines the specification for a Velero backup.
|
|
properties:
|
|
csiSnapshotTimeout:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
datamover:
|
|
description: |-
|
|
DataMover specifies the data mover to be used by the backup.
|
|
If DataMover is "" or "velero", the built-in data mover will be used.
|
|
type: string
|
|
defaultVolumesToFsBackup:
|
|
description: |-
|
|
DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used
|
|
for all volumes by default.
|
|
nullable: true
|
|
type: boolean
|
|
defaultVolumesToRestic:
|
|
description: |-
|
|
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.
|
|
nullable: true
|
|
type: boolean
|
|
excludedClusterScopedResources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedNamespaceScopedResources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedNamespaces:
|
|
description: |-
|
|
ExcludedNamespaces contains a list of namespaces that are not
|
|
included in the backup.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: |-
|
|
ExcludedResources is a slice of resource names that are not
|
|
included in the backup.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
hooks:
|
|
description: Hooks represent custom behaviors that should be executed
|
|
at different phases of the backup.
|
|
properties:
|
|
resources:
|
|
description: Resources are hooks that should be executed when
|
|
backing up individual instances of a resource.
|
|
items:
|
|
description: |-
|
|
BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on
|
|
the rules defined for namespaces, resources, and label selector.
|
|
properties:
|
|
excludedNamespaces:
|
|
description: ExcludedNamespaces specifies the namespaces
|
|
to which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: ExcludedResources specifies the resources to
|
|
which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
|
|
to all namespaces.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
|
|
to all resources.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
labelSelector:
|
|
description: LabelSelector, if specified, filters the resources
|
|
to which this hook spec applies.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector
|
|
requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
description: Name is the name of this hook.
|
|
type: string
|
|
post:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: BackupResourceHook defines a hook for a resource.
|
|
properties:
|
|
exec:
|
|
description: Exec defines an exec hook.
|
|
properties:
|
|
command:
|
|
description: Command is the command and arguments
|
|
to execute.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
container:
|
|
description: |-
|
|
Container is the container in the pod where the command should be executed. If not specified,
|
|
the pod's first container is used.
|
|
type: string
|
|
onError:
|
|
description: OnError specifies how Velero should
|
|
behave if it encounters an error executing this
|
|
hook.
|
|
enum:
|
|
- Continue
|
|
- Fail
|
|
type: string
|
|
timeout:
|
|
description: |-
|
|
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
|
|
considering the execution a failure.
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
required:
|
|
- exec
|
|
type: object
|
|
type: array
|
|
pre:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: BackupResourceHook defines a hook for a resource.
|
|
properties:
|
|
exec:
|
|
description: Exec defines an exec hook.
|
|
properties:
|
|
command:
|
|
description: Command is the command and arguments
|
|
to execute.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
container:
|
|
description: |-
|
|
Container is the container in the pod where the command should be executed. If not specified,
|
|
the pod's first container is used.
|
|
type: string
|
|
onError:
|
|
description: OnError specifies how Velero should
|
|
behave if it encounters an error executing this
|
|
hook.
|
|
enum:
|
|
- Continue
|
|
- Fail
|
|
type: string
|
|
timeout:
|
|
description: |-
|
|
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
|
|
considering the execution a failure.
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
required:
|
|
- exec
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
type: object
|
|
nullable: true
|
|
type: array
|
|
type: object
|
|
includeClusterResources:
|
|
description: |-
|
|
IncludeClusterResources specifies whether cluster-scoped resources
|
|
should be included for consideration in the backup.
|
|
nullable: true
|
|
type: boolean
|
|
includedClusterScopedResources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaceScopedResources:
|
|
description: |-
|
|
IncludedNamespaceScopedResources is a slice of namespace-scoped
|
|
resource type names to include in the backup.
|
|
The default value is "*".
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces is a slice of namespace names to include objects
|
|
from. If empty, all namespaces are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources is a slice of resource names to include
|
|
in the backup. If empty, all resources are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
itemOperationTimeout:
|
|
description: |-
|
|
ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations
|
|
The default value is 4 hour.
|
|
type: string
|
|
labelSelector:
|
|
description: |-
|
|
LabelSelector is a metav1.LabelSelector to filter with
|
|
when adding individual objects to the backup. If empty
|
|
or nil, all objects are included. Optional.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements.
|
|
The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies
|
|
to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
metadata:
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
orLabelSelectors:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
A label selector is a label query over a set of resources. The result of matchLabels and
|
|
matchExpressions are ANDed. An empty label selector matches all objects. A null
|
|
label selector matches no objects.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements.
|
|
The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies
|
|
to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
nullable: true
|
|
type: array
|
|
orderedResources:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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".
|
|
nullable: true
|
|
type: object
|
|
resourcePolicy:
|
|
description: ResourcePolicy specifies the referenced resource policies
|
|
that backup should follow
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
snapshotMoveData:
|
|
description: SnapshotMoveData specifies whether snapshot data should
|
|
be moved
|
|
nullable: true
|
|
type: boolean
|
|
snapshotVolumes:
|
|
description: |-
|
|
SnapshotVolumes specifies whether to take snapshots
|
|
of any PV's referenced in the set of objects included
|
|
in the Backup.
|
|
nullable: true
|
|
type: boolean
|
|
storageLocation:
|
|
description: StorageLocation is a string containing the name of a
|
|
BackupStorageLocation where the backup should be stored.
|
|
type: string
|
|
ttl:
|
|
description: |-
|
|
TTL is a time.Duration-parseable string describing how long
|
|
the Backup should be retained for.
|
|
type: string
|
|
uploaderConfig:
|
|
description: UploaderConfig specifies the configuration for the uploader.
|
|
nullable: true
|
|
properties:
|
|
parallelFilesUpload:
|
|
description: ParallelFilesUpload is the number of files parallel
|
|
uploads to perform when using the uploader.
|
|
type: integer
|
|
type: object
|
|
volumeSnapshotLocations:
|
|
description: VolumeSnapshotLocations is a list containing names of
|
|
VolumeSnapshotLocations associated with this backup.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
status:
|
|
description: BackupStatus captures the current status of a Velero backup.
|
|
properties:
|
|
backupItemOperationsAttempted:
|
|
description: |-
|
|
BackupItemOperationsAttempted is the total number of attempted
|
|
async BackupItemAction operations for this backup.
|
|
type: integer
|
|
backupItemOperationsCompleted:
|
|
description: |-
|
|
BackupItemOperationsCompleted is the total number of successfully completed
|
|
async BackupItemAction operations for this backup.
|
|
type: integer
|
|
backupItemOperationsFailed:
|
|
description: |-
|
|
BackupItemOperationsFailed is the total number of async
|
|
BackupItemAction operations for this backup which ended with an error.
|
|
type: integer
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time a backup was completed.
|
|
Completion time is recorded even on failed backups.
|
|
Completion time is recorded before uploading the backup object.
|
|
The server's time is used for CompletionTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
csiVolumeSnapshotsAttempted:
|
|
description: |-
|
|
CSIVolumeSnapshotsAttempted is the total number of attempted
|
|
CSI VolumeSnapshots for this backup.
|
|
type: integer
|
|
csiVolumeSnapshotsCompleted:
|
|
description: |-
|
|
CSIVolumeSnapshotsCompleted is the total number of successfully
|
|
completed CSI VolumeSnapshots for this backup.
|
|
type: integer
|
|
errors:
|
|
description: |-
|
|
Errors is a count of all error messages that were generated during
|
|
execution of the backup. The actual errors are in the backup's log
|
|
file in object storage.
|
|
type: integer
|
|
expiration:
|
|
description: Expiration is when this Backup is eligible for garbage-collection.
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
failureReason:
|
|
description: FailureReason is an error that caused the entire backup
|
|
to fail.
|
|
type: string
|
|
formatVersion:
|
|
description: FormatVersion is the backup format version, including
|
|
major, minor, and patch version.
|
|
type: string
|
|
hookStatus:
|
|
description: HookStatus contains information about the status of the
|
|
hooks.
|
|
nullable: true
|
|
properties:
|
|
hooksAttempted:
|
|
description: |-
|
|
HooksAttempted is the total number of attempted hooks
|
|
Specifically, HooksAttempted represents the number of hooks that failed to execute
|
|
and the number of hooks that executed successfully.
|
|
type: integer
|
|
hooksFailed:
|
|
description: HooksFailed is the total number of hooks which ended
|
|
with an error
|
|
type: integer
|
|
type: object
|
|
phase:
|
|
description: Phase is the current state of the Backup.
|
|
enum:
|
|
- New
|
|
- FailedValidation
|
|
- InProgress
|
|
- WaitingForPluginOperations
|
|
- WaitingForPluginOperationsPartiallyFailed
|
|
- Finalizing
|
|
- FinalizingPartiallyFailed
|
|
- Completed
|
|
- PartiallyFailed
|
|
- Failed
|
|
- Deleting
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress contains information about the backup's execution progress. Note
|
|
that this information is best-effort only -- if Velero fails to update it
|
|
during a backup for any reason, it may be inaccurate/stale.
|
|
nullable: true
|
|
properties:
|
|
itemsBackedUp:
|
|
description: |-
|
|
ItemsBackedUp is the number of items that have actually been written to the
|
|
backup tarball so far.
|
|
type: integer
|
|
totalItems:
|
|
description: |-
|
|
TotalItems is the total number of items to be backed up. This number may change
|
|
throughout the execution of the backup due to plugins that return additional related
|
|
items to back up, the velero.io/exclude-from-backup label, and various other
|
|
filters that happen as items are processed.
|
|
type: integer
|
|
type: object
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time a backup was started.
|
|
Separate from CreationTimestamp, since that value changes
|
|
on restores.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
validationErrors:
|
|
description: |-
|
|
ValidationErrors is a slice of all validation errors (if
|
|
applicable).
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
version:
|
|
description: |-
|
|
Version is the backup format major version.
|
|
Deprecated: Please see FormatVersion
|
|
type: integer
|
|
volumeSnapshotsAttempted:
|
|
description: |-
|
|
VolumeSnapshotsAttempted is the total number of attempted
|
|
volume snapshots for this backup.
|
|
type: integer
|
|
volumeSnapshotsCompleted:
|
|
description: |-
|
|
VolumeSnapshotsCompleted is the total number of successfully
|
|
completed volume snapshots for this backup.
|
|
type: integer
|
|
warnings:
|
|
description: |-
|
|
Warnings is a count of all warning messages that were generated during
|
|
execution of the backup. The actual warnings are in the backup's log
|
|
file in object storage.
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: backupstoragelocations.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: BackupStorageLocation
|
|
listKind: BackupStorageLocationList
|
|
plural: backupstoragelocations
|
|
shortNames:
|
|
- bsl
|
|
singular: backupstoragelocation
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Backup Storage Location status such as Available/Unavailable
|
|
jsonPath: .status.phase
|
|
name: Phase
|
|
type: string
|
|
- description: LastValidationTime is the last time the backup store location was
|
|
validated
|
|
jsonPath: .status.lastValidationTime
|
|
name: Last Validated
|
|
type: date
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- description: Default backup storage location
|
|
jsonPath: .spec.default
|
|
name: Default
|
|
type: boolean
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: BackupStorageLocation is a location where Velero stores backup
|
|
objects
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: BackupStorageLocationSpec defines the desired state of a
|
|
Velero BackupStorageLocation
|
|
properties:
|
|
accessMode:
|
|
description: AccessMode defines the permissions for the backup storage
|
|
location.
|
|
enum:
|
|
- ReadOnly
|
|
- ReadWrite
|
|
type: string
|
|
backupSyncPeriod:
|
|
description: BackupSyncPeriod defines how frequently to sync backup
|
|
API objects from object storage. A value of 0 disables sync.
|
|
nullable: true
|
|
type: string
|
|
config:
|
|
additionalProperties:
|
|
type: string
|
|
description: Config is for provider-specific configuration fields.
|
|
type: object
|
|
credential:
|
|
description: Credential contains the credential information intended
|
|
to be used with this location
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a
|
|
valid secret key.
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
default:
|
|
description: Default indicates this location is the default backup
|
|
storage location.
|
|
type: boolean
|
|
objectStorage:
|
|
description: ObjectStorageLocation specifies the settings necessary
|
|
to connect to a provider's object storage.
|
|
properties:
|
|
bucket:
|
|
description: Bucket is the bucket to use for object storage.
|
|
type: string
|
|
caCert:
|
|
description: CACert defines a CA bundle to use when verifying
|
|
TLS connections to the provider.
|
|
format: byte
|
|
type: string
|
|
prefix:
|
|
description: Prefix is the path inside a bucket to use for Velero
|
|
storage. Optional.
|
|
type: string
|
|
required:
|
|
- bucket
|
|
type: object
|
|
provider:
|
|
description: Provider is the provider of the backup storage.
|
|
type: string
|
|
validationFrequency:
|
|
description: ValidationFrequency defines how frequently to validate
|
|
the corresponding object storage. A value of 0 disables validation.
|
|
nullable: true
|
|
type: string
|
|
required:
|
|
- objectStorage
|
|
- provider
|
|
type: object
|
|
status:
|
|
description: BackupStorageLocationStatus defines the observed state of
|
|
BackupStorageLocation
|
|
properties:
|
|
accessMode:
|
|
description: |-
|
|
AccessMode is an unused field.
|
|
|
|
|
|
Deprecated: there is now an AccessMode field on the Spec and this field
|
|
will be removed entirely as of v2.0.
|
|
enum:
|
|
- ReadOnly
|
|
- ReadWrite
|
|
type: string
|
|
lastSyncedRevision:
|
|
description: |-
|
|
LastSyncedRevision is the value of the `metadata/revision` file in the backup
|
|
storage location the last time the BSL's contents were synced into the cluster.
|
|
|
|
|
|
Deprecated: this field is no longer updated or used for detecting changes to
|
|
the location's contents and will be removed entirely in v2.0.
|
|
type: string
|
|
lastSyncedTime:
|
|
description: |-
|
|
LastSyncedTime is the last time the contents of the location were synced into
|
|
the cluster.
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
lastValidationTime:
|
|
description: |-
|
|
LastValidationTime is the last time the backup store location was validated
|
|
the cluster.
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
message:
|
|
description: Message is a message about the backup storage location's
|
|
status.
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the BackupStorageLocation.
|
|
enum:
|
|
- Available
|
|
- Unavailable
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: datadownloads.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: DataDownload
|
|
listKind: DataDownloadList
|
|
plural: datadownloads
|
|
singular: datadownload
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: DataDownload status such as New/InProgress
|
|
jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
- description: Time duration since this DataDownload was started
|
|
jsonPath: .status.startTimestamp
|
|
name: Started
|
|
type: date
|
|
- description: Completed bytes
|
|
format: int64
|
|
jsonPath: .status.progress.bytesDone
|
|
name: Bytes Done
|
|
type: integer
|
|
- description: Total bytes
|
|
format: int64
|
|
jsonPath: .status.progress.totalBytes
|
|
name: Total Bytes
|
|
type: integer
|
|
- description: Name of the Backup Storage Location where the backup data is stored
|
|
jsonPath: .spec.backupStorageLocation
|
|
name: Storage Location
|
|
type: string
|
|
- description: Time duration since this DataDownload was created
|
|
jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- description: Name of the node where the DataDownload is processed
|
|
jsonPath: .status.node
|
|
name: Node
|
|
type: string
|
|
name: v2alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: DataDownload acts as the protocol between data mover plugins
|
|
and data mover controller for the datamover restore operation
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: DataDownloadSpec is the specification for a DataDownload.
|
|
properties:
|
|
backupStorageLocation:
|
|
description: |-
|
|
BackupStorageLocation is the name of the backup storage location
|
|
where the backup repository is stored.
|
|
type: string
|
|
cancel:
|
|
description: |-
|
|
Cancel indicates request to cancel the ongoing DataDownload. It can be set
|
|
when the DataDownload is in InProgress phase
|
|
type: boolean
|
|
dataMoverConfig:
|
|
additionalProperties:
|
|
type: string
|
|
description: DataMoverConfig is for data-mover-specific configuration
|
|
fields.
|
|
type: object
|
|
datamover:
|
|
description: |-
|
|
DataMover specifies the data mover to be used by the backup.
|
|
If DataMover is "" or "velero", the built-in data mover will be used.
|
|
type: string
|
|
operationTimeout:
|
|
description: |-
|
|
OperationTimeout specifies the time used to wait internal operations,
|
|
before returning error as timeout.
|
|
type: string
|
|
snapshotID:
|
|
description: SnapshotID is the ID of the Velero backup snapshot to
|
|
be restored from.
|
|
type: string
|
|
sourceNamespace:
|
|
description: |-
|
|
SourceNamespace is the original namespace where the volume is backed up from.
|
|
It may be different from SourcePVC's namespace if namespace is remapped during restore.
|
|
type: string
|
|
targetVolume:
|
|
description: TargetVolume is the information of the target PVC and
|
|
PV.
|
|
properties:
|
|
namespace:
|
|
description: Namespace is the target namespace
|
|
type: string
|
|
pv:
|
|
description: PV is the name of the target PV that is created by
|
|
Velero restore
|
|
type: string
|
|
pvc:
|
|
description: PVC is the name of the target PVC that is created
|
|
by Velero restore
|
|
type: string
|
|
required:
|
|
- namespace
|
|
- pv
|
|
- pvc
|
|
type: object
|
|
required:
|
|
- backupStorageLocation
|
|
- operationTimeout
|
|
- snapshotID
|
|
- sourceNamespace
|
|
- targetVolume
|
|
type: object
|
|
status:
|
|
description: DataDownloadStatus is the current status of a DataDownload.
|
|
properties:
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time a restore was completed.
|
|
Completion time is recorded even on failed restores.
|
|
The server's time is used for CompletionTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
message:
|
|
description: Message is a message about the DataDownload's status.
|
|
type: string
|
|
node:
|
|
description: Node is name of the node where the DataDownload is processed.
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the DataDownload.
|
|
enum:
|
|
- New
|
|
- Accepted
|
|
- Prepared
|
|
- InProgress
|
|
- Canceling
|
|
- Canceled
|
|
- Completed
|
|
- Failed
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress holds the total number of bytes of the snapshot and the current
|
|
number of restored bytes. This can be used to display progress information
|
|
about the restore operation.
|
|
properties:
|
|
bytesDone:
|
|
format: int64
|
|
type: integer
|
|
totalBytes:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time a restore was started.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: datauploads.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: DataUpload
|
|
listKind: DataUploadList
|
|
plural: datauploads
|
|
singular: dataupload
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: DataUpload status such as New/InProgress
|
|
jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
- description: Time duration since this DataUpload was started
|
|
jsonPath: .status.startTimestamp
|
|
name: Started
|
|
type: date
|
|
- description: Completed bytes
|
|
format: int64
|
|
jsonPath: .status.progress.bytesDone
|
|
name: Bytes Done
|
|
type: integer
|
|
- description: Total bytes
|
|
format: int64
|
|
jsonPath: .status.progress.totalBytes
|
|
name: Total Bytes
|
|
type: integer
|
|
- description: Name of the Backup Storage Location where this backup should be
|
|
stored
|
|
jsonPath: .spec.backupStorageLocation
|
|
name: Storage Location
|
|
type: string
|
|
- description: Time duration since this DataUpload was created
|
|
jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- description: Name of the node where the DataUpload is processed
|
|
jsonPath: .status.node
|
|
name: Node
|
|
type: string
|
|
name: v2alpha1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: DataUpload acts as the protocol between data mover plugins and
|
|
data mover controller for the datamover backup operation
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: DataUploadSpec is the specification for a DataUpload.
|
|
properties:
|
|
backupStorageLocation:
|
|
description: |-
|
|
BackupStorageLocation is the name of the backup storage location
|
|
where the backup repository is stored.
|
|
type: string
|
|
cancel:
|
|
description: |-
|
|
Cancel indicates request to cancel the ongoing DataUpload. It can be set
|
|
when the DataUpload is in InProgress phase
|
|
type: boolean
|
|
csiSnapshot:
|
|
description: If SnapshotType is CSI, CSISnapshot provides the information
|
|
of the CSI snapshot.
|
|
nullable: true
|
|
properties:
|
|
snapshotClass:
|
|
description: SnapshotClass is the name of the snapshot class that
|
|
the volume snapshot is created with
|
|
type: string
|
|
storageClass:
|
|
description: StorageClass is the name of the storage class of
|
|
the PVC that the volume snapshot is created from
|
|
type: string
|
|
volumeSnapshot:
|
|
description: VolumeSnapshot is the name of the volume snapshot
|
|
to be backed up
|
|
type: string
|
|
required:
|
|
- storageClass
|
|
- volumeSnapshot
|
|
type: object
|
|
dataMoverConfig:
|
|
additionalProperties:
|
|
type: string
|
|
description: DataMoverConfig is for data-mover-specific configuration
|
|
fields.
|
|
nullable: true
|
|
type: object
|
|
datamover:
|
|
description: |-
|
|
DataMover specifies the data mover to be used by the backup.
|
|
If DataMover is "" or "velero", the built-in data mover will be used.
|
|
type: string
|
|
operationTimeout:
|
|
description: |-
|
|
OperationTimeout specifies the time used to wait internal operations,
|
|
before returning error as timeout.
|
|
type: string
|
|
snapshotType:
|
|
description: SnapshotType is the type of the snapshot to be backed
|
|
up.
|
|
type: string
|
|
sourceNamespace:
|
|
description: |-
|
|
SourceNamespace is the original namespace where the volume is backed up from.
|
|
It is the same namespace for SourcePVC and CSI namespaced objects.
|
|
type: string
|
|
sourcePVC:
|
|
description: SourcePVC is the name of the PVC which the snapshot is
|
|
taken for.
|
|
type: string
|
|
required:
|
|
- backupStorageLocation
|
|
- operationTimeout
|
|
- snapshotType
|
|
- sourceNamespace
|
|
- sourcePVC
|
|
type: object
|
|
status:
|
|
description: DataUploadStatus is the current status of a DataUpload.
|
|
properties:
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time a backup was completed.
|
|
Completion time is recorded even on failed backups.
|
|
Completion time is recorded before uploading the backup object.
|
|
The server's time is used for CompletionTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
dataMoverResult:
|
|
additionalProperties:
|
|
type: string
|
|
description: DataMoverResult stores data-mover-specific information
|
|
as a result of the DataUpload.
|
|
nullable: true
|
|
type: object
|
|
message:
|
|
description: Message is a message about the DataUpload's status.
|
|
type: string
|
|
node:
|
|
description: Node is name of the node where the DataUpload is processed.
|
|
type: string
|
|
path:
|
|
description: Path is the full path of the snapshot volume being backed
|
|
up.
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the DataUpload.
|
|
enum:
|
|
- New
|
|
- Accepted
|
|
- Prepared
|
|
- InProgress
|
|
- Canceling
|
|
- Canceled
|
|
- Completed
|
|
- Failed
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress holds the total number of bytes of the volume and the current
|
|
number of backed up bytes. This can be used to display progress information
|
|
about the backup operation.
|
|
properties:
|
|
bytesDone:
|
|
format: int64
|
|
type: integer
|
|
totalBytes:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
snapshotID:
|
|
description: SnapshotID is the identifier for the snapshot in the
|
|
backup repository.
|
|
type: string
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time a backup was started.
|
|
Separate from CreationTimestamp, since that value changes
|
|
on restores.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: deletebackuprequests.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: DeleteBackupRequest
|
|
listKind: DeleteBackupRequestList
|
|
plural: deletebackuprequests
|
|
singular: deletebackuprequest
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: The name of the backup to be deleted
|
|
jsonPath: .spec.backupName
|
|
name: BackupName
|
|
type: string
|
|
- description: The status of the deletion request
|
|
jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: DeleteBackupRequest is a request to delete one or more backups.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: DeleteBackupRequestSpec is the specification for which backups
|
|
to delete.
|
|
properties:
|
|
backupName:
|
|
type: string
|
|
required:
|
|
- backupName
|
|
type: object
|
|
status:
|
|
description: DeleteBackupRequestStatus is the current status of a DeleteBackupRequest.
|
|
properties:
|
|
errors:
|
|
description: Errors contains any errors that were encountered during
|
|
the deletion process.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
phase:
|
|
description: Phase is the current state of the DeleteBackupRequest.
|
|
enum:
|
|
- New
|
|
- InProgress
|
|
- Processed
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: downloadrequests.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: DownloadRequest
|
|
listKind: DownloadRequestList
|
|
plural: downloadrequests
|
|
singular: downloadrequest
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
DownloadRequest is a request to download an artifact from backup object storage, such as a backup
|
|
log file.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: DownloadRequestSpec is the specification for a download request.
|
|
properties:
|
|
target:
|
|
description: Target is what to download (e.g. logs for a backup).
|
|
properties:
|
|
kind:
|
|
description: Kind is the type of file to download.
|
|
enum:
|
|
- BackupLog
|
|
- BackupContents
|
|
- BackupVolumeSnapshots
|
|
- BackupItemOperations
|
|
- BackupResourceList
|
|
- BackupResults
|
|
- RestoreLog
|
|
- RestoreResults
|
|
- RestoreResourceList
|
|
- RestoreItemOperations
|
|
- CSIBackupVolumeSnapshots
|
|
- CSIBackupVolumeSnapshotContents
|
|
- BackupVolumeInfos
|
|
- RestoreVolumeInfo
|
|
type: string
|
|
name:
|
|
description: Name is the name of the Kubernetes resource with
|
|
which the file is associated.
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
required:
|
|
- target
|
|
type: object
|
|
status:
|
|
description: DownloadRequestStatus is the current status of a DownloadRequest.
|
|
properties:
|
|
downloadURL:
|
|
description: DownloadURL contains the pre-signed URL for the target
|
|
file.
|
|
type: string
|
|
expiration:
|
|
description: Expiration is when this DownloadRequest expires and can
|
|
be deleted by the system.
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the DownloadRequest.
|
|
enum:
|
|
- New
|
|
- Processed
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: podvolumebackups.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: PodVolumeBackup
|
|
listKind: PodVolumeBackupList
|
|
plural: podvolumebackups
|
|
singular: podvolumebackup
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Pod Volume Backup status such as New/InProgress
|
|
jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
- description: Time when this backup was started
|
|
jsonPath: .status.startTimestamp
|
|
name: Created
|
|
type: date
|
|
- description: Namespace of the pod containing the volume to be backed up
|
|
jsonPath: .spec.pod.namespace
|
|
name: Namespace
|
|
type: string
|
|
- description: Name of the pod containing the volume to be backed up
|
|
jsonPath: .spec.pod.name
|
|
name: Pod
|
|
type: string
|
|
- description: Name of the volume to be backed up
|
|
jsonPath: .spec.volume
|
|
name: Volume
|
|
type: string
|
|
- description: The type of the uploader to handle data transfer
|
|
jsonPath: .spec.uploaderType
|
|
name: Uploader Type
|
|
type: string
|
|
- description: Name of the Backup Storage Location where this backup should be
|
|
stored
|
|
jsonPath: .spec.backupStorageLocation
|
|
name: Storage Location
|
|
type: string
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: PodVolumeBackupSpec is the specification for a PodVolumeBackup.
|
|
properties:
|
|
backupStorageLocation:
|
|
description: |-
|
|
BackupStorageLocation is the name of the backup storage location
|
|
where the backup repository is stored.
|
|
type: string
|
|
node:
|
|
description: Node is the name of the node that the Pod is running
|
|
on.
|
|
type: string
|
|
pod:
|
|
description: Pod is a reference to the pod containing the volume to
|
|
be backed up.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
TODO: this design is not final and this field is subject to change in the future.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
type: string
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
repoIdentifier:
|
|
description: RepoIdentifier is the backup repository identifier.
|
|
type: string
|
|
tags:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
Tags are a map of key-value pairs that should be applied to the
|
|
volume backup as tags.
|
|
type: object
|
|
uploaderSettings:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
UploaderSettings are a map of key-value pairs that should be applied to the
|
|
uploader configuration.
|
|
nullable: true
|
|
type: object
|
|
uploaderType:
|
|
description: UploaderType is the type of the uploader to handle the
|
|
data transfer.
|
|
enum:
|
|
- kopia
|
|
- restic
|
|
- ""
|
|
type: string
|
|
volume:
|
|
description: |-
|
|
Volume is the name of the volume within the Pod to be backed
|
|
up.
|
|
type: string
|
|
required:
|
|
- backupStorageLocation
|
|
- node
|
|
- pod
|
|
- repoIdentifier
|
|
- volume
|
|
type: object
|
|
status:
|
|
description: PodVolumeBackupStatus is the current status of a PodVolumeBackup.
|
|
properties:
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time a backup was completed.
|
|
Completion time is recorded even on failed backups.
|
|
Completion time is recorded before uploading the backup object.
|
|
The server's time is used for CompletionTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
message:
|
|
description: Message is a message about the pod volume backup's status.
|
|
type: string
|
|
path:
|
|
description: Path is the full path within the controller pod being
|
|
backed up.
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the PodVolumeBackup.
|
|
enum:
|
|
- New
|
|
- InProgress
|
|
- Completed
|
|
- Failed
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress holds the total number of bytes of the volume and the current
|
|
number of backed up bytes. This can be used to display progress information
|
|
about the backup operation.
|
|
properties:
|
|
bytesDone:
|
|
format: int64
|
|
type: integer
|
|
totalBytes:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
snapshotID:
|
|
description: SnapshotID is the identifier for the snapshot of the
|
|
pod volume.
|
|
type: string
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time a backup was started.
|
|
Separate from CreationTimestamp, since that value changes
|
|
on restores.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: podvolumerestores.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: PodVolumeRestore
|
|
listKind: PodVolumeRestoreList
|
|
plural: podvolumerestores
|
|
singular: podvolumerestore
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Namespace of the pod containing the volume to be restored
|
|
jsonPath: .spec.pod.namespace
|
|
name: Namespace
|
|
type: string
|
|
- description: Name of the pod containing the volume to be restored
|
|
jsonPath: .spec.pod.name
|
|
name: Pod
|
|
type: string
|
|
- description: The type of the uploader to handle data transfer
|
|
jsonPath: .spec.uploaderType
|
|
name: Uploader Type
|
|
type: string
|
|
- description: Name of the volume to be restored
|
|
jsonPath: .spec.volume
|
|
name: Volume
|
|
type: string
|
|
- description: Pod Volume Restore status such as New/InProgress
|
|
jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
- description: Pod Volume Restore status such as New/InProgress
|
|
format: int64
|
|
jsonPath: .status.progress.totalBytes
|
|
name: TotalBytes
|
|
type: integer
|
|
- description: Pod Volume Restore status such as New/InProgress
|
|
format: int64
|
|
jsonPath: .status.progress.bytesDone
|
|
name: BytesDone
|
|
type: integer
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: PodVolumeRestoreSpec is the specification for a PodVolumeRestore.
|
|
properties:
|
|
backupStorageLocation:
|
|
description: |-
|
|
BackupStorageLocation is the name of the backup storage location
|
|
where the backup repository is stored.
|
|
type: string
|
|
pod:
|
|
description: Pod is a reference to the pod containing the volume to
|
|
be restored.
|
|
properties:
|
|
apiVersion:
|
|
description: API version of the referent.
|
|
type: string
|
|
fieldPath:
|
|
description: |-
|
|
If referring to a piece of an object instead of an entire object, this string
|
|
should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
|
|
For example, if the object reference is to a container within a pod, this would take on a value like:
|
|
"spec.containers{name}" (where "name" refers to the name of the container that triggered
|
|
the event) or if no container name is specified "spec.containers[2]" (container with
|
|
index 2 in this pod). This syntax is chosen only to have some well-defined way of
|
|
referencing a part of an object.
|
|
TODO: this design is not final and this field is subject to change in the future.
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind of the referent.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
type: string
|
|
namespace:
|
|
description: |-
|
|
Namespace of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
|
|
type: string
|
|
resourceVersion:
|
|
description: |-
|
|
Specific resourceVersion to which this reference is made, if any.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
|
|
type: string
|
|
uid:
|
|
description: |-
|
|
UID of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
|
|
type: string
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
repoIdentifier:
|
|
description: RepoIdentifier is the backup repository identifier.
|
|
type: string
|
|
snapshotID:
|
|
description: SnapshotID is the ID of the volume snapshot to be restored.
|
|
type: string
|
|
sourceNamespace:
|
|
description: SourceNamespace is the original namespace for namaspace
|
|
mapping.
|
|
type: string
|
|
uploaderSettings:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
UploaderSettings are a map of key-value pairs that should be applied to the
|
|
uploader configuration.
|
|
nullable: true
|
|
type: object
|
|
uploaderType:
|
|
description: UploaderType is the type of the uploader to handle the
|
|
data transfer.
|
|
enum:
|
|
- kopia
|
|
- restic
|
|
- ""
|
|
type: string
|
|
volume:
|
|
description: Volume is the name of the volume within the Pod to be
|
|
restored.
|
|
type: string
|
|
required:
|
|
- backupStorageLocation
|
|
- pod
|
|
- repoIdentifier
|
|
- snapshotID
|
|
- sourceNamespace
|
|
- volume
|
|
type: object
|
|
status:
|
|
description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore.
|
|
properties:
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time a restore was completed.
|
|
Completion time is recorded even on failed restores.
|
|
The server's time is used for CompletionTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
message:
|
|
description: Message is a message about the pod volume restore's status.
|
|
type: string
|
|
phase:
|
|
description: Phase is the current state of the PodVolumeRestore.
|
|
enum:
|
|
- New
|
|
- InProgress
|
|
- Completed
|
|
- Failed
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress holds the total number of bytes of the snapshot and the current
|
|
number of restored bytes. This can be used to display progress information
|
|
about the restore operation.
|
|
properties:
|
|
bytesDone:
|
|
format: int64
|
|
type: integer
|
|
totalBytes:
|
|
format: int64
|
|
type: integer
|
|
type: object
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time a restore was started.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: restores.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: Restore
|
|
listKind: RestoreList
|
|
plural: restores
|
|
singular: restore
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
Restore is a Velero resource that represents the application of
|
|
resources from a Velero backup to a target Kubernetes cluster.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: RestoreSpec defines the specification for a Velero restore.
|
|
properties:
|
|
backupName:
|
|
description: |-
|
|
BackupName is the unique name of the Velero backup to restore
|
|
from.
|
|
type: string
|
|
excludedNamespaces:
|
|
description: |-
|
|
ExcludedNamespaces contains a list of namespaces that are not
|
|
included in the restore.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: |-
|
|
ExcludedResources is a slice of resource names that are not
|
|
included in the restore.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
existingResourcePolicy:
|
|
description: ExistingResourcePolicy specifies the restore behavior
|
|
for the Kubernetes resource to be restored
|
|
nullable: true
|
|
type: string
|
|
hooks:
|
|
description: Hooks represent custom behaviors that should be executed
|
|
during or post restore.
|
|
properties:
|
|
resources:
|
|
items:
|
|
description: |-
|
|
RestoreResourceHookSpec defines one or more RestoreResrouceHooks that should be executed based on
|
|
the rules defined for namespaces, resources, and label selector.
|
|
properties:
|
|
excludedNamespaces:
|
|
description: ExcludedNamespaces specifies the namespaces
|
|
to which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: ExcludedResources specifies the resources to
|
|
which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
|
|
to all namespaces.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
|
|
to all resources.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
labelSelector:
|
|
description: LabelSelector, if specified, filters the resources
|
|
to which this hook spec applies.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector
|
|
requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
description: Name is the name of this hook.
|
|
type: string
|
|
postHooks:
|
|
description: PostHooks is a list of RestoreResourceHooks
|
|
to execute during and after restoring a resource.
|
|
items:
|
|
description: RestoreResourceHook defines a restore hook
|
|
for a resource.
|
|
properties:
|
|
exec:
|
|
description: Exec defines an exec restore hook.
|
|
properties:
|
|
command:
|
|
description: Command is the command and arguments
|
|
to execute from within a container after a pod
|
|
has been restored.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
container:
|
|
description: |-
|
|
Container is the container in the pod where the command should be executed. If not specified,
|
|
the pod's first container is used.
|
|
type: string
|
|
execTimeout:
|
|
description: |-
|
|
ExecTimeout defines the maximum amount of time Velero should wait for the hook to complete before
|
|
considering the execution a failure.
|
|
type: string
|
|
onError:
|
|
description: OnError specifies how Velero should
|
|
behave if it encounters an error executing this
|
|
hook.
|
|
enum:
|
|
- Continue
|
|
- Fail
|
|
type: string
|
|
waitForReady:
|
|
description: WaitForReady ensures command will
|
|
be launched when container is Ready instead
|
|
of Running.
|
|
nullable: true
|
|
type: boolean
|
|
waitTimeout:
|
|
description: |-
|
|
WaitTimeout defines the maximum amount of time Velero should wait for the container to be Ready
|
|
before attempting to run the command.
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
init:
|
|
description: Init defines an init restore hook.
|
|
properties:
|
|
initContainers:
|
|
description: InitContainers is list of init containers
|
|
to be added to a pod during its restore.
|
|
items:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
timeout:
|
|
description: Timeout defines the maximum amount
|
|
of time Velero should wait for the initContainers
|
|
to complete.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
includeClusterResources:
|
|
description: |-
|
|
IncludeClusterResources specifies whether cluster-scoped resources
|
|
should be included for consideration in the restore. If null, defaults
|
|
to true.
|
|
nullable: true
|
|
type: boolean
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces is a slice of namespace names to include objects
|
|
from. If empty, all namespaces are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources is a slice of resource names to include
|
|
in the restore. If empty, all resources in the backup are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
itemOperationTimeout:
|
|
description: |-
|
|
ItemOperationTimeout specifies the time used to wait for RestoreItemAction operations
|
|
The default value is 4 hour.
|
|
type: string
|
|
labelSelector:
|
|
description: |-
|
|
LabelSelector is a metav1.LabelSelector to filter with
|
|
when restoring individual objects from the backup. If empty
|
|
or nil, all objects are included. Optional.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements.
|
|
The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies
|
|
to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaceMapping:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
NamespaceMapping is a map of source namespace names
|
|
to target namespace names to restore into. Any source
|
|
namespaces not included in the map will be restored into
|
|
namespaces of the same name.
|
|
type: object
|
|
orLabelSelectors:
|
|
description: |-
|
|
OrLabelSelectors is list of metav1.LabelSelector to filter with
|
|
when restoring individual objects from the backup. If multiple provided
|
|
they will be joined by the OR operator. LabelSelector as well as
|
|
OrLabelSelectors cannot co-exist in restore request, only one of them
|
|
can be used
|
|
items:
|
|
description: |-
|
|
A label selector is a label query over a set of resources. The result of matchLabels and
|
|
matchExpressions are ANDed. An empty label selector matches all objects. A null
|
|
label selector matches no objects.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements.
|
|
The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies
|
|
to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
nullable: true
|
|
type: array
|
|
preserveNodePorts:
|
|
description: PreserveNodePorts specifies whether to restore old nodePorts
|
|
from backup.
|
|
nullable: true
|
|
type: boolean
|
|
resourceModifier:
|
|
description: ResourceModifier specifies the reference to JSON resource
|
|
patches that should be applied to resources before restoration.
|
|
nullable: true
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
restorePVs:
|
|
description: |-
|
|
RestorePVs specifies whether to restore all included
|
|
PVs from snapshot
|
|
nullable: true
|
|
type: boolean
|
|
restoreStatus:
|
|
description: |-
|
|
RestoreStatus specifies which resources we should restore the status
|
|
field. If nil, no objects are included. Optional.
|
|
nullable: true
|
|
properties:
|
|
excludedResources:
|
|
description: ExcludedResources specifies the resources to which
|
|
will not restore the status.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources specifies the resources to which will restore the status.
|
|
If empty, it applies to all resources.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
type: object
|
|
scheduleName:
|
|
description: |-
|
|
ScheduleName is the unique name of the Velero schedule to restore
|
|
from. If specified, and BackupName is empty, Velero will restore
|
|
from the most recent successful backup created from this schedule.
|
|
type: string
|
|
uploaderConfig:
|
|
description: UploaderConfig specifies the configuration for the restore.
|
|
nullable: true
|
|
properties:
|
|
parallelFilesDownload:
|
|
description: ParallelFilesDownload is the concurrency number setting
|
|
for restore.
|
|
type: integer
|
|
writeSparseFiles:
|
|
description: WriteSparseFiles is a flag to indicate whether write
|
|
files sparsely or not.
|
|
nullable: true
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: RestoreStatus captures the current status of a Velero restore
|
|
properties:
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time the restore operation was completed.
|
|
Completion time is recorded even on failed restore.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
errors:
|
|
description: |-
|
|
Errors is a count of all error messages that were generated during
|
|
execution of the restore. The actual errors are stored in object storage.
|
|
type: integer
|
|
failureReason:
|
|
description: FailureReason is an error that caused the entire restore
|
|
to fail.
|
|
type: string
|
|
hookStatus:
|
|
description: HookStatus contains information about the status of the
|
|
hooks.
|
|
nullable: true
|
|
properties:
|
|
hooksAttempted:
|
|
description: |-
|
|
HooksAttempted is the total number of attempted hooks
|
|
Specifically, HooksAttempted represents the number of hooks that failed to execute
|
|
and the number of hooks that executed successfully.
|
|
type: integer
|
|
hooksFailed:
|
|
description: HooksFailed is the total number of hooks which ended
|
|
with an error
|
|
type: integer
|
|
type: object
|
|
phase:
|
|
description: Phase is the current state of the Restore
|
|
enum:
|
|
- New
|
|
- FailedValidation
|
|
- InProgress
|
|
- WaitingForPluginOperations
|
|
- WaitingForPluginOperationsPartiallyFailed
|
|
- Completed
|
|
- PartiallyFailed
|
|
- Failed
|
|
- Finalizing
|
|
- FinalizingPartiallyFailed
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress contains information about the restore's execution progress. Note
|
|
that this information is best-effort only -- if Velero fails to update it
|
|
during a restore for any reason, it may be inaccurate/stale.
|
|
nullable: true
|
|
properties:
|
|
itemsRestored:
|
|
description: ItemsRestored is the number of items that have actually
|
|
been restored so far
|
|
type: integer
|
|
totalItems:
|
|
description: |-
|
|
TotalItems is the total number of items to be restored. This number may change
|
|
throughout the execution of the restore due to plugins that return additional related
|
|
items to restore
|
|
type: integer
|
|
type: object
|
|
restoreItemOperationsAttempted:
|
|
description: |-
|
|
RestoreItemOperationsAttempted is the total number of attempted
|
|
async RestoreItemAction operations for this restore.
|
|
type: integer
|
|
restoreItemOperationsCompleted:
|
|
description: |-
|
|
RestoreItemOperationsCompleted is the total number of successfully completed
|
|
async RestoreItemAction operations for this restore.
|
|
type: integer
|
|
restoreItemOperationsFailed:
|
|
description: |-
|
|
RestoreItemOperationsFailed is the total number of async
|
|
RestoreItemAction operations for this restore which ended with an error.
|
|
type: integer
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time the restore operation was started.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
validationErrors:
|
|
description: |-
|
|
ValidationErrors is a slice of all validation errors (if
|
|
applicable)
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
warnings:
|
|
description: |-
|
|
Warnings is a count of all warning messages that were generated during
|
|
execution of the restore. The actual warnings are stored in object storage.
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: schedules.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: Schedule
|
|
listKind: ScheduleList
|
|
plural: schedules
|
|
singular: schedule
|
|
scope: Namespaced
|
|
versions:
|
|
- additionalPrinterColumns:
|
|
- description: Status of the schedule
|
|
jsonPath: .status.phase
|
|
name: Status
|
|
type: string
|
|
- description: A Cron expression defining when to run the Backup
|
|
jsonPath: .spec.schedule
|
|
name: Schedule
|
|
type: string
|
|
- description: The last time a Backup was run for this schedule
|
|
jsonPath: .status.lastBackup
|
|
name: LastBackup
|
|
type: date
|
|
- jsonPath: .metadata.creationTimestamp
|
|
name: Age
|
|
type: date
|
|
- jsonPath: .spec.paused
|
|
name: Paused
|
|
type: boolean
|
|
name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
Schedule is a Velero resource that represents a pre-scheduled or
|
|
periodic Backup that should be run.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: ScheduleSpec defines the specification for a Velero schedule
|
|
properties:
|
|
paused:
|
|
description: Paused specifies whether the schedule is paused or not
|
|
type: boolean
|
|
schedule:
|
|
description: |-
|
|
Schedule is a Cron expression defining when to run
|
|
the Backup.
|
|
type: string
|
|
skipImmediately:
|
|
description: |-
|
|
SkipImmediately specifies whether to skip backup if schedule is due immediately from `schedule.status.lastBackup` timestamp when schedule is unpaused or if schedule is new.
|
|
If true, backup will be skipped immediately when schedule is unpaused if it is due based on .Status.LastBackupTimestamp or schedule is new, and will run at next schedule time.
|
|
If false, backup will not be skipped immediately when schedule is unpaused, but will run at next schedule time.
|
|
If empty, will follow server configuration (default: false).
|
|
type: boolean
|
|
template:
|
|
description: |-
|
|
Template is the definition of the Backup to be run
|
|
on the provided schedule
|
|
properties:
|
|
csiSnapshotTimeout:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
datamover:
|
|
description: |-
|
|
DataMover specifies the data mover to be used by the backup.
|
|
If DataMover is "" or "velero", the built-in data mover will be used.
|
|
type: string
|
|
defaultVolumesToFsBackup:
|
|
description: |-
|
|
DefaultVolumesToFsBackup specifies whether pod volume file system backup should be used
|
|
for all volumes by default.
|
|
nullable: true
|
|
type: boolean
|
|
defaultVolumesToRestic:
|
|
description: |-
|
|
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.
|
|
nullable: true
|
|
type: boolean
|
|
excludedClusterScopedResources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedNamespaceScopedResources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedNamespaces:
|
|
description: |-
|
|
ExcludedNamespaces contains a list of namespaces that are not
|
|
included in the backup.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: |-
|
|
ExcludedResources is a slice of resource names that are not
|
|
included in the backup.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
hooks:
|
|
description: Hooks represent custom behaviors that should be executed
|
|
at different phases of the backup.
|
|
properties:
|
|
resources:
|
|
description: Resources are hooks that should be executed when
|
|
backing up individual instances of a resource.
|
|
items:
|
|
description: |-
|
|
BackupResourceHookSpec defines one or more BackupResourceHooks that should be executed based on
|
|
the rules defined for namespaces, resources, and label selector.
|
|
properties:
|
|
excludedNamespaces:
|
|
description: ExcludedNamespaces specifies the namespaces
|
|
to which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: ExcludedResources specifies the resources
|
|
to which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
|
|
to all namespaces.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
|
|
to all resources.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
labelSelector:
|
|
description: LabelSelector, if specified, filters the
|
|
resources to which this hook spec applies.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label
|
|
selector requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the
|
|
selector applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
description: Name is the name of this hook.
|
|
type: string
|
|
post:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: BackupResourceHook defines a hook for
|
|
a resource.
|
|
properties:
|
|
exec:
|
|
description: Exec defines an exec hook.
|
|
properties:
|
|
command:
|
|
description: Command is the command and arguments
|
|
to execute.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
container:
|
|
description: |-
|
|
Container is the container in the pod where the command should be executed. If not specified,
|
|
the pod's first container is used.
|
|
type: string
|
|
onError:
|
|
description: OnError specifies how Velero
|
|
should behave if it encounters an error
|
|
executing this hook.
|
|
enum:
|
|
- Continue
|
|
- Fail
|
|
type: string
|
|
timeout:
|
|
description: |-
|
|
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
|
|
considering the execution a failure.
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
required:
|
|
- exec
|
|
type: object
|
|
type: array
|
|
pre:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: BackupResourceHook defines a hook for
|
|
a resource.
|
|
properties:
|
|
exec:
|
|
description: Exec defines an exec hook.
|
|
properties:
|
|
command:
|
|
description: Command is the command and arguments
|
|
to execute.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
container:
|
|
description: |-
|
|
Container is the container in the pod where the command should be executed. If not specified,
|
|
the pod's first container is used.
|
|
type: string
|
|
onError:
|
|
description: OnError specifies how Velero
|
|
should behave if it encounters an error
|
|
executing this hook.
|
|
enum:
|
|
- Continue
|
|
- Fail
|
|
type: string
|
|
timeout:
|
|
description: |-
|
|
Timeout defines the maximum amount of time Velero should wait for the hook to complete before
|
|
considering the execution a failure.
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
required:
|
|
- exec
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
type: object
|
|
nullable: true
|
|
type: array
|
|
type: object
|
|
includeClusterResources:
|
|
description: |-
|
|
IncludeClusterResources specifies whether cluster-scoped resources
|
|
should be included for consideration in the backup.
|
|
nullable: true
|
|
type: boolean
|
|
includedClusterScopedResources:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaceScopedResources:
|
|
description: |-
|
|
IncludedNamespaceScopedResources is a slice of namespace-scoped
|
|
resource type names to include in the backup.
|
|
The default value is "*".
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces is a slice of namespace names to include objects
|
|
from. If empty, all namespaces are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources is a slice of resource names to include
|
|
in the backup. If empty, all resources are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
itemOperationTimeout:
|
|
description: |-
|
|
ItemOperationTimeout specifies the time used to wait for asynchronous BackupItemAction operations
|
|
The default value is 4 hour.
|
|
type: string
|
|
labelSelector:
|
|
description: |-
|
|
LabelSelector is a metav1.LabelSelector to filter with
|
|
when adding individual objects to the backup. If empty
|
|
or nil, all objects are included. Optional.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector
|
|
requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
metadata:
|
|
properties:
|
|
labels:
|
|
additionalProperties:
|
|
type: string
|
|
type: object
|
|
type: object
|
|
orLabelSelectors:
|
|
description: |-
|
|
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.
|
|
items:
|
|
description: |-
|
|
A label selector is a label query over a set of resources. The result of matchLabels and
|
|
matchExpressions are ANDed. An empty label selector matches all objects. A null
|
|
label selector matches no objects.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector
|
|
requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
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.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
nullable: true
|
|
type: array
|
|
orderedResources:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
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".
|
|
nullable: true
|
|
type: object
|
|
resourcePolicy:
|
|
description: ResourcePolicy specifies the referenced resource
|
|
policies that backup should follow
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
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.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
snapshotMoveData:
|
|
description: SnapshotMoveData specifies whether snapshot data
|
|
should be moved
|
|
nullable: true
|
|
type: boolean
|
|
snapshotVolumes:
|
|
description: |-
|
|
SnapshotVolumes specifies whether to take snapshots
|
|
of any PV's referenced in the set of objects included
|
|
in the Backup.
|
|
nullable: true
|
|
type: boolean
|
|
storageLocation:
|
|
description: StorageLocation is a string containing the name of
|
|
a BackupStorageLocation where the backup should be stored.
|
|
type: string
|
|
ttl:
|
|
description: |-
|
|
TTL is a time.Duration-parseable string describing how long
|
|
the Backup should be retained for.
|
|
type: string
|
|
uploaderConfig:
|
|
description: UploaderConfig specifies the configuration for the
|
|
uploader.
|
|
nullable: true
|
|
properties:
|
|
parallelFilesUpload:
|
|
description: ParallelFilesUpload is the number of files parallel
|
|
uploads to perform when using the uploader.
|
|
type: integer
|
|
type: object
|
|
volumeSnapshotLocations:
|
|
description: VolumeSnapshotLocations is a list containing names
|
|
of VolumeSnapshotLocations associated with this backup.
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
useOwnerReferencesInBackup:
|
|
description: |-
|
|
UseOwnerReferencesBackup specifies whether to use
|
|
OwnerReferences on backups created by this Schedule.
|
|
nullable: true
|
|
type: boolean
|
|
required:
|
|
- schedule
|
|
- template
|
|
type: object
|
|
status:
|
|
description: ScheduleStatus captures the current state of a Velero schedule
|
|
properties:
|
|
lastBackup:
|
|
description: |-
|
|
LastBackup is the last time a Backup was run for this
|
|
Schedule schedule
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
lastSkipped:
|
|
description: LastSkipped is the last time a Schedule was skipped
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
phase:
|
|
description: Phase is the current phase of the Schedule
|
|
enum:
|
|
- New
|
|
- Enabled
|
|
- FailedValidation
|
|
type: string
|
|
validationErrors:
|
|
description: |-
|
|
ValidationErrors is a slice of all validation errors (if
|
|
applicable)
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
subresources: {}
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: serverstatusrequests.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: ServerStatusRequest
|
|
listKind: ServerStatusRequestList
|
|
plural: serverstatusrequests
|
|
shortNames:
|
|
- ssr
|
|
singular: serverstatusrequest
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
ServerStatusRequest is a request to access current status information about
|
|
the Velero server.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: ServerStatusRequestSpec is the specification for a ServerStatusRequest.
|
|
type: object
|
|
status:
|
|
description: ServerStatusRequestStatus is the current status of a ServerStatusRequest.
|
|
properties:
|
|
phase:
|
|
description: Phase is the current lifecycle phase of the ServerStatusRequest.
|
|
enum:
|
|
- New
|
|
- Processed
|
|
type: string
|
|
plugins:
|
|
description: Plugins list information about the plugins running on
|
|
the Velero server
|
|
items:
|
|
description: PluginInfo contains attributes of a Velero plugin
|
|
properties:
|
|
kind:
|
|
type: string
|
|
name:
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
nullable: true
|
|
type: array
|
|
processedTimestamp:
|
|
description: |-
|
|
ProcessedTimestamp is when the ServerStatusRequest was processed
|
|
by the ServerStatusRequestController.
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
serverVersion:
|
|
description: ServerVersion is the Velero server version.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
labels:
|
|
component: velero
|
|
name: volumesnapshotlocations.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: VolumeSnapshotLocation
|
|
listKind: VolumeSnapshotLocationList
|
|
plural: volumesnapshotlocations
|
|
shortNames:
|
|
- vsl
|
|
singular: volumesnapshotlocation
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: VolumeSnapshotLocation is a location where Velero stores volume
|
|
snapshots.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: VolumeSnapshotLocationSpec defines the specification for
|
|
a Velero VolumeSnapshotLocation.
|
|
properties:
|
|
config:
|
|
additionalProperties:
|
|
type: string
|
|
description: Config is for provider-specific configuration fields.
|
|
type: object
|
|
credential:
|
|
description: Credential contains the credential information intended
|
|
to be used with this location
|
|
properties:
|
|
key:
|
|
description: The key of the secret to select from. Must be a
|
|
valid secret key.
|
|
type: string
|
|
name:
|
|
description: |-
|
|
Name of the referent.
|
|
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
|
|
TODO: Add other useful fields. apiVersion, kind, uid?
|
|
type: string
|
|
optional:
|
|
description: Specify whether the Secret or its key must be defined
|
|
type: boolean
|
|
required:
|
|
- key
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
provider:
|
|
description: Provider is the provider of the volume storage.
|
|
type: string
|
|
required:
|
|
- provider
|
|
type: object
|
|
status:
|
|
description: VolumeSnapshotLocationStatus describes the current status
|
|
of a Velero VolumeSnapshotLocation.
|
|
properties:
|
|
phase:
|
|
description: VolumeSnapshotLocationPhase is the lifecycle phase of
|
|
a Velero VolumeSnapshotLocation.
|
|
enum:
|
|
- Available
|
|
- Unavailable
|
|
type: string
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-server
|
|
namespace: velero
|
|
---
|
|
apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
annotations:
|
|
helm.sh/hook: pre-install,pre-upgrade,pre-rollback
|
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
|
helm.sh/hook-weight: "-4"
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-server-upgrade-crds
|
|
namespace: velero
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: Role
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: server
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-server
|
|
namespace: velero
|
|
rules:
|
|
- apiGroups:
|
|
- '*'
|
|
resources:
|
|
- '*'
|
|
verbs:
|
|
- '*'
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRole
|
|
metadata:
|
|
annotations:
|
|
helm.sh/hook: pre-install,pre-upgrade,pre-rollback
|
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
|
helm.sh/hook-weight: "-5"
|
|
labels:
|
|
app.kubernetes.io/component: upgrade-crds
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-upgrade-crds
|
|
rules:
|
|
- apiGroups:
|
|
- apiextensions.k8s.io
|
|
resources:
|
|
- customresourcedefinitions
|
|
verbs:
|
|
- create
|
|
- patch
|
|
- update
|
|
- get
|
|
- list
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: RoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: server
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-server
|
|
namespace: velero
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: Role
|
|
name: velero-server
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: velero-server
|
|
namespace: velero
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/component: server
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-server
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: cluster-admin
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: velero-server
|
|
namespace: velero
|
|
---
|
|
apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
annotations:
|
|
helm.sh/hook: pre-install,pre-upgrade,pre-rollback
|
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
|
helm.sh/hook-weight: "-3"
|
|
labels:
|
|
app.kubernetes.io/component: upgrade-crds
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-upgrade-crds
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: velero-upgrade-crds
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: velero-server-upgrade-crds
|
|
namespace: velero
|
|
---
|
|
apiVersion: v1
|
|
data: null
|
|
kind: Secret
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero
|
|
namespace: velero
|
|
type: Opaque
|
|
---
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero
|
|
namespace: velero
|
|
spec:
|
|
ports:
|
|
- name: http-monitoring
|
|
port: 8085
|
|
targetPort: http-monitoring
|
|
selector:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/name: velero
|
|
name: velero
|
|
type: ClusterIP
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
component: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero
|
|
namespace: velero
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/name: velero
|
|
strategy:
|
|
type: Recreate
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/secret: b9754ca4d83dab2f2e3ce5d2f763c69ed92c2298dc2737084680716557250af3
|
|
prometheus.io/path: /metrics
|
|
prometheus.io/port: "8085"
|
|
prometheus.io/scrape: "true"
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero
|
|
spec:
|
|
containers:
|
|
- args:
|
|
- server
|
|
- --uploader-type=kopia
|
|
command:
|
|
- /velero
|
|
env:
|
|
- name: VELERO_SCRATCH_DIR
|
|
value: /scratch
|
|
- name: VELERO_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
apiVersion: v1
|
|
fieldPath: metadata.namespace
|
|
- name: LD_LIBRARY_PATH
|
|
value: /plugins
|
|
- name: AWS_SHARED_CREDENTIALS_FILE
|
|
value: /credentials/cloud
|
|
- name: GOOGLE_APPLICATION_CREDENTIALS
|
|
value: /credentials/cloud
|
|
- name: AZURE_CREDENTIALS_FILE
|
|
value: /credentials/cloud
|
|
- name: ALIBABA_CLOUD_CREDENTIALS_FILE
|
|
value: /credentials/cloud
|
|
image: velero/velero:v1.15.2
|
|
imagePullPolicy: IfNotPresent
|
|
livenessProbe:
|
|
failureThreshold: 5
|
|
httpGet:
|
|
path: /metrics
|
|
port: http-monitoring
|
|
scheme: HTTP
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 5
|
|
name: velero
|
|
ports:
|
|
- containerPort: 8085
|
|
name: http-monitoring
|
|
readinessProbe:
|
|
failureThreshold: 5
|
|
httpGet:
|
|
path: /metrics
|
|
port: http-monitoring
|
|
scheme: HTTP
|
|
initialDelaySeconds: 10
|
|
periodSeconds: 30
|
|
successThreshold: 1
|
|
timeoutSeconds: 5
|
|
volumeMounts:
|
|
- mountPath: /plugins
|
|
name: plugins
|
|
- mountPath: /credentials
|
|
name: cloud-credentials
|
|
- mountPath: /scratch
|
|
name: scratch
|
|
dnsPolicy: ClusterFirst
|
|
initContainers:
|
|
- image: velero/velero-plugin-for-aws:v1.11.0
|
|
imagePullPolicy: IfNotPresent
|
|
name: velero-plugin-for-aws
|
|
volumeMounts:
|
|
- mountPath: /target
|
|
name: plugins
|
|
restartPolicy: Always
|
|
serviceAccountName: velero-server
|
|
terminationGracePeriodSeconds: 3600
|
|
volumes:
|
|
- name: cloud-credentials
|
|
secret:
|
|
secretName: velero
|
|
- emptyDir: {}
|
|
name: plugins
|
|
- emptyDir: {}
|
|
name: scratch
|
|
---
|
|
apiVersion: batch/v1
|
|
kind: Job
|
|
metadata:
|
|
annotations:
|
|
helm.sh/hook: pre-install,pre-upgrade,pre-rollback
|
|
helm.sh/hook-delete-policy: before-hook-creation,hook-succeeded
|
|
helm.sh/hook-weight: "5"
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: velero-upgrade-crds
|
|
namespace: velero
|
|
spec:
|
|
backoffLimit: 3
|
|
template:
|
|
metadata:
|
|
name: velero-upgrade-crds
|
|
spec:
|
|
containers:
|
|
- args:
|
|
- -c
|
|
- /velero install --crds-only --dry-run -o yaml | /tmp/kubectl apply -f -
|
|
command:
|
|
- /tmp/sh
|
|
image: velero/velero:v1.15.2
|
|
imagePullPolicy: IfNotPresent
|
|
name: velero
|
|
volumeMounts:
|
|
- mountPath: /tmp
|
|
name: crds
|
|
initContainers:
|
|
- args:
|
|
- -c
|
|
- cp `which sh` /tmp && cp `which kubectl` /tmp
|
|
command:
|
|
- /bin/sh
|
|
image: docker.io/bitnami/kubectl:1.32
|
|
imagePullPolicy: IfNotPresent
|
|
name: kubectl
|
|
volumeMounts:
|
|
- mountPath: /tmp
|
|
name: crds
|
|
restartPolicy: OnFailure
|
|
serviceAccountName: velero-server-upgrade-crds
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: crds
|
|
---
|
|
apiVersion: velero.io/v1
|
|
kind: BackupStorageLocation
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: nas
|
|
namespace: velero
|
|
spec:
|
|
accessMode: ReadWrite
|
|
config:
|
|
region: nas
|
|
s3ForcePathStyle: "true"
|
|
s3Url: http://192.168.10.1:9000
|
|
credential:
|
|
key: nas-s3
|
|
name: secret-s3
|
|
objectStorage:
|
|
bucket: kubernetes
|
|
provider: aws
|
|
---
|
|
apiVersion: velero.io/v1
|
|
kind: VolumeSnapshotLocation
|
|
metadata:
|
|
labels:
|
|
app.kubernetes.io/instance: velero
|
|
app.kubernetes.io/managed-by: Helm
|
|
app.kubernetes.io/name: velero
|
|
helm.sh/chart: velero-7.0.0
|
|
name: nas
|
|
namespace: velero
|
|
spec:
|
|
config:
|
|
region: nas
|
|
credential:
|
|
key: nas-s3
|
|
name: secret-s3
|
|
provider: aws
|