3354 lines
155 KiB
YAML
3354 lines
155 KiB
YAML
apiVersion: v1
|
|
items:
|
|
- apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.12.0
|
|
creationTimestamp: null
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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. \n 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 1 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.12.0
|
|
creationTimestamp: null
|
|
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. \n 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. \n 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.12.0
|
|
creationTimestamp: null
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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 1 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:
|
|
writeSparseFiles:
|
|
description: WriteSparseFiles is a flag to indicate whether
|
|
write files sparsely or not.
|
|
nullable: true
|
|
type: boolean
|
|
type: object
|
|
required:
|
|
- backupName
|
|
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
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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.
|
|
\n 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 1 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.12.0
|
|
creationTimestamp: null
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.12.0
|
|
creationTimestamp: null
|
|
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.12.0
|
|
creationTimestamp: null
|
|
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: v1
|
|
kind: Namespace
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
pod-security.kubernetes.io/audit: privileged
|
|
pod-security.kubernetes.io/audit-version: latest
|
|
pod-security.kubernetes.io/enforce: privileged
|
|
pod-security.kubernetes.io/enforce-version: latest
|
|
pod-security.kubernetes.io/warn: privileged
|
|
pod-security.kubernetes.io/warn-version: latest
|
|
name: velero
|
|
spec: {}
|
|
- apiVersion: rbac.authorization.k8s.io/v1
|
|
kind: ClusterRoleBinding
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
name: velero
|
|
roleRef:
|
|
apiGroup: rbac.authorization.k8s.io
|
|
kind: ClusterRole
|
|
name: cluster-admin
|
|
subjects:
|
|
- kind: ServiceAccount
|
|
name: velero
|
|
namespace: velero
|
|
- apiVersion: v1
|
|
kind: ServiceAccount
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
name: velero
|
|
namespace: velero
|
|
- apiVersion: v1
|
|
data:
|
|
cloud: W2RlZmF1bHRdCmF3c19hY2Nlc3Nfa2V5X2lkID0gdmVsZXJvCmF3c19zZWNyZXRfYWNjZXNzX2tleSA9IDRJc1RoZU1pbmRLaWxsZXIK
|
|
kind: Secret
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
name: cloud-credentials
|
|
namespace: velero
|
|
type: Opaque
|
|
- apiVersion: velero.io/v1
|
|
kind: BackupStorageLocation
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
name: default
|
|
namespace: velero
|
|
spec:
|
|
config:
|
|
region: minio
|
|
s3ForcePathStyle: "true"
|
|
s3Url: http://pbs.undercloud.local:9000
|
|
default: true
|
|
objectStorage:
|
|
bucket: velero
|
|
provider: aws
|
|
- apiVersion: velero.io/v1
|
|
kind: VolumeSnapshotLocation
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
name: default
|
|
namespace: velero
|
|
spec:
|
|
provider: aws
|
|
- apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
name: velero
|
|
namespace: velero
|
|
spec:
|
|
selector:
|
|
matchLabels:
|
|
deploy: velero
|
|
strategy: {}
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
prometheus.io/path: /metrics
|
|
prometheus.io/port: "8085"
|
|
prometheus.io/scrape: "true"
|
|
creationTimestamp: null
|
|
labels:
|
|
component: velero
|
|
deploy: velero
|
|
spec:
|
|
containers:
|
|
- args:
|
|
- server
|
|
- --features=
|
|
- --uploader-type=kopia
|
|
command:
|
|
- /velero
|
|
env:
|
|
- name: VELERO_SCRATCH_DIR
|
|
value: /scratch
|
|
- name: VELERO_NAMESPACE
|
|
valueFrom:
|
|
fieldRef:
|
|
fieldPath: metadata.namespace
|
|
- name: LD_LIBRARY_PATH
|
|
value: /plugins
|
|
- name: GOOGLE_APPLICATION_CREDENTIALS
|
|
value: /credentials/cloud
|
|
- name: AWS_SHARED_CREDENTIALS_FILE
|
|
value: /credentials/cloud
|
|
- name: AZURE_CREDENTIALS_FILE
|
|
value: /credentials/cloud
|
|
- name: ALIBABA_CLOUD_CREDENTIALS_FILE
|
|
value: /credentials/cloud
|
|
image: velero/velero:v1.13.2
|
|
imagePullPolicy: IfNotPresent
|
|
name: velero
|
|
ports:
|
|
- containerPort: 8085
|
|
name: metrics
|
|
resources:
|
|
limits:
|
|
cpu: "1"
|
|
memory: 512Mi
|
|
requests:
|
|
cpu: 500m
|
|
memory: 128Mi
|
|
volumeMounts:
|
|
- mountPath: /plugins
|
|
name: plugins
|
|
- mountPath: /scratch
|
|
name: scratch
|
|
- mountPath: /credentials
|
|
name: cloud-credentials
|
|
initContainers:
|
|
- image: velero/velero-plugin-for-aws:latest
|
|
imagePullPolicy: IfNotPresent
|
|
name: velero-velero-plugin-for-aws
|
|
resources: {}
|
|
volumeMounts:
|
|
- mountPath: /target
|
|
name: plugins
|
|
- image: velero/velero-plugin-for-csi:latest
|
|
imagePullPolicy: IfNotPresent
|
|
name: velero-velero-plugin-for-csi
|
|
resources: {}
|
|
volumeMounts:
|
|
- mountPath: /target
|
|
name: plugins
|
|
restartPolicy: Always
|
|
serviceAccountName: velero
|
|
volumes:
|
|
- emptyDir: {}
|
|
name: plugins
|
|
- emptyDir: {}
|
|
name: scratch
|
|
- name: cloud-credentials
|
|
secret:
|
|
secretName: cloud-credentials
|
|
kind: List
|
|
|