557 lines
27 KiB
YAML
557 lines
27 KiB
YAML
---
|
|
apiVersion: apiextensions.k8s.io/v1
|
|
kind: CustomResourceDefinition
|
|
metadata:
|
|
annotations:
|
|
controller-gen.kubebuilder.io/version: v0.14.0
|
|
name: restores.velero.io
|
|
spec:
|
|
group: velero.io
|
|
names:
|
|
kind: Restore
|
|
listKind: RestoreList
|
|
plural: restores
|
|
singular: restore
|
|
scope: Namespaced
|
|
versions:
|
|
- name: v1
|
|
schema:
|
|
openAPIV3Schema:
|
|
description: |-
|
|
Restore is a Velero resource that represents the application of
|
|
resources from a Velero backup to a target Kubernetes cluster.
|
|
properties:
|
|
apiVersion:
|
|
description: |-
|
|
APIVersion defines the versioned schema of this representation of an object.
|
|
Servers should convert recognized schemas to the latest internal value, and
|
|
may reject unrecognized values.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
|
|
type: string
|
|
kind:
|
|
description: |-
|
|
Kind is a string value representing the REST resource this object represents.
|
|
Servers may infer this from the endpoint the client submits requests to.
|
|
Cannot be updated.
|
|
In CamelCase.
|
|
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
|
|
type: string
|
|
metadata:
|
|
type: object
|
|
spec:
|
|
description: RestoreSpec defines the specification for a Velero restore.
|
|
properties:
|
|
backupName:
|
|
description: |-
|
|
BackupName is the unique name of the Velero backup to restore
|
|
from.
|
|
type: string
|
|
excludedNamespaces:
|
|
description: |-
|
|
ExcludedNamespaces contains a list of namespaces that are not
|
|
included in the restore.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: |-
|
|
ExcludedResources is a slice of resource names that are not
|
|
included in the restore.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
existingResourcePolicy:
|
|
description: ExistingResourcePolicy specifies the restore behavior
|
|
for the Kubernetes resource to be restored
|
|
nullable: true
|
|
type: string
|
|
hooks:
|
|
description: Hooks represent custom behaviors that should be executed
|
|
during or post restore.
|
|
properties:
|
|
resources:
|
|
items:
|
|
description: |-
|
|
RestoreResourceHookSpec defines one or more RestoreResrouceHooks that should be executed based on
|
|
the rules defined for namespaces, resources, and label selector.
|
|
properties:
|
|
excludedNamespaces:
|
|
description: ExcludedNamespaces specifies the namespaces
|
|
to which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
excludedResources:
|
|
description: ExcludedResources specifies the resources to
|
|
which this hook spec does not apply.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces specifies the namespaces to which this hook spec applies. If empty, it applies
|
|
to all namespaces.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources specifies the resources to which this hook spec applies. If empty, it applies
|
|
to all resources.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
labelSelector:
|
|
description: LabelSelector, if specified, filters the resources
|
|
to which this hook spec applies.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector
|
|
requirements. The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector
|
|
applies to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
values is an array of string values. If the operator is In or NotIn,
|
|
the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
|
the values array must be empty. This array is replaced during a strategic
|
|
merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions, whose key field is "key", the
|
|
operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
name:
|
|
description: Name is the name of this hook.
|
|
type: string
|
|
postHooks:
|
|
description: PostHooks is a list of RestoreResourceHooks
|
|
to execute during and after restoring a resource.
|
|
items:
|
|
description: RestoreResourceHook defines a restore hook
|
|
for a resource.
|
|
properties:
|
|
exec:
|
|
description: Exec defines an exec restore hook.
|
|
properties:
|
|
command:
|
|
description: Command is the command and arguments
|
|
to execute from within a container after a pod
|
|
has been restored.
|
|
items:
|
|
type: string
|
|
minItems: 1
|
|
type: array
|
|
container:
|
|
description: |-
|
|
Container is the container in the pod where the command should be executed. If not specified,
|
|
the pod's first container is used.
|
|
type: string
|
|
execTimeout:
|
|
description: |-
|
|
ExecTimeout defines the maximum amount of time Velero should wait for the hook to complete before
|
|
considering the execution a failure.
|
|
type: string
|
|
onError:
|
|
description: OnError specifies how Velero should
|
|
behave if it encounters an error executing this
|
|
hook.
|
|
enum:
|
|
- Continue
|
|
- Fail
|
|
type: string
|
|
waitForReady:
|
|
description: WaitForReady ensures command will
|
|
be launched when container is Ready instead
|
|
of Running.
|
|
nullable: true
|
|
type: boolean
|
|
waitTimeout:
|
|
description: |-
|
|
WaitTimeout defines the maximum amount of time Velero should wait for the container to be Ready
|
|
before attempting to run the command.
|
|
type: string
|
|
required:
|
|
- command
|
|
type: object
|
|
init:
|
|
description: Init defines an init restore hook.
|
|
properties:
|
|
initContainers:
|
|
description: InitContainers is list of init containers
|
|
to be added to a pod during its restore.
|
|
items:
|
|
type: object
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
type: array
|
|
x-kubernetes-preserve-unknown-fields: true
|
|
timeout:
|
|
description: Timeout defines the maximum amount
|
|
of time Velero should wait for the initContainers
|
|
to complete.
|
|
type: string
|
|
type: object
|
|
type: object
|
|
type: array
|
|
required:
|
|
- name
|
|
type: object
|
|
type: array
|
|
type: object
|
|
includeClusterResources:
|
|
description: |-
|
|
IncludeClusterResources specifies whether cluster-scoped resources
|
|
should be included for consideration in the restore. If null, defaults
|
|
to true.
|
|
nullable: true
|
|
type: boolean
|
|
includedNamespaces:
|
|
description: |-
|
|
IncludedNamespaces is a slice of namespace names to include objects
|
|
from. If empty, all namespaces are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources is a slice of resource names to include
|
|
in the restore. If empty, all resources in the backup are included.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
itemOperationTimeout:
|
|
description: |-
|
|
ItemOperationTimeout specifies the time used to wait for RestoreItemAction operations
|
|
The default value is 4 hour.
|
|
type: string
|
|
labelSelector:
|
|
description: |-
|
|
LabelSelector is a metav1.LabelSelector to filter with
|
|
when restoring individual objects from the backup. If empty
|
|
or nil, all objects are included. Optional.
|
|
nullable: true
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements.
|
|
The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies
|
|
to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
values is an array of string values. If the operator is In or NotIn,
|
|
the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
|
the values array must be empty. This array is replaced during a strategic
|
|
merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions, whose key field is "key", the
|
|
operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
namespaceMapping:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
NamespaceMapping is a map of source namespace names
|
|
to target namespace names to restore into. Any source
|
|
namespaces not included in the map will be restored into
|
|
namespaces of the same name.
|
|
type: object
|
|
orLabelSelectors:
|
|
description: |-
|
|
OrLabelSelectors is list of metav1.LabelSelector to filter with
|
|
when restoring individual objects from the backup. If multiple provided
|
|
they will be joined by the OR operator. LabelSelector as well as
|
|
OrLabelSelectors cannot co-exist in restore request, only one of them
|
|
can be used
|
|
items:
|
|
description: |-
|
|
A label selector is a label query over a set of resources. The result of matchLabels and
|
|
matchExpressions are ANDed. An empty label selector matches all objects. A null
|
|
label selector matches no objects.
|
|
properties:
|
|
matchExpressions:
|
|
description: matchExpressions is a list of label selector requirements.
|
|
The requirements are ANDed.
|
|
items:
|
|
description: |-
|
|
A label selector requirement is a selector that contains values, a key, and an operator that
|
|
relates the key and values.
|
|
properties:
|
|
key:
|
|
description: key is the label key that the selector applies
|
|
to.
|
|
type: string
|
|
operator:
|
|
description: |-
|
|
operator represents a key's relationship to a set of values.
|
|
Valid operators are In, NotIn, Exists and DoesNotExist.
|
|
type: string
|
|
values:
|
|
description: |-
|
|
values is an array of string values. If the operator is In or NotIn,
|
|
the values array must be non-empty. If the operator is Exists or DoesNotExist,
|
|
the values array must be empty. This array is replaced during a strategic
|
|
merge patch.
|
|
items:
|
|
type: string
|
|
type: array
|
|
required:
|
|
- key
|
|
- operator
|
|
type: object
|
|
type: array
|
|
matchLabels:
|
|
additionalProperties:
|
|
type: string
|
|
description: |-
|
|
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
|
|
map is equivalent to an element of matchExpressions, whose key field is "key", the
|
|
operator is "In", and the values array contains only "value". The requirements are ANDed.
|
|
type: object
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
nullable: true
|
|
type: array
|
|
preserveNodePorts:
|
|
description: PreserveNodePorts specifies whether to restore old nodePorts
|
|
from backup.
|
|
nullable: true
|
|
type: boolean
|
|
resourceModifier:
|
|
description: ResourceModifier specifies the reference to JSON resource
|
|
patches that should be applied to resources before restoration.
|
|
nullable: true
|
|
properties:
|
|
apiGroup:
|
|
description: |-
|
|
APIGroup is the group for the resource being referenced.
|
|
If APIGroup is not specified, the specified Kind must be in the core API group.
|
|
For any other third-party types, APIGroup is required.
|
|
type: string
|
|
kind:
|
|
description: Kind is the type of resource being referenced
|
|
type: string
|
|
name:
|
|
description: Name is the name of resource being referenced
|
|
type: string
|
|
required:
|
|
- kind
|
|
- name
|
|
type: object
|
|
x-kubernetes-map-type: atomic
|
|
restorePVs:
|
|
description: |-
|
|
RestorePVs specifies whether to restore all included
|
|
PVs from snapshot
|
|
nullable: true
|
|
type: boolean
|
|
restoreStatus:
|
|
description: |-
|
|
RestoreStatus specifies which resources we should restore the status
|
|
field. If nil, no objects are included. Optional.
|
|
nullable: true
|
|
properties:
|
|
excludedResources:
|
|
description: ExcludedResources specifies the resources to which
|
|
will not restore the status.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
includedResources:
|
|
description: |-
|
|
IncludedResources specifies the resources to which will restore the status.
|
|
If empty, it applies to all resources.
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
type: object
|
|
scheduleName:
|
|
description: |-
|
|
ScheduleName is the unique name of the Velero schedule to restore
|
|
from. If specified, and BackupName is empty, Velero will restore
|
|
from the most recent successful backup created from this schedule.
|
|
type: string
|
|
uploaderConfig:
|
|
description: UploaderConfig specifies the configuration for the restore.
|
|
nullable: true
|
|
properties:
|
|
parallelFilesDownload:
|
|
description: ParallelFilesDownload is the concurrency number setting
|
|
for restore.
|
|
type: integer
|
|
writeSparseFiles:
|
|
description: WriteSparseFiles is a flag to indicate whether write
|
|
files sparsely or not.
|
|
nullable: true
|
|
type: boolean
|
|
type: object
|
|
type: object
|
|
status:
|
|
description: RestoreStatus captures the current status of a Velero restore
|
|
properties:
|
|
completionTimestamp:
|
|
description: |-
|
|
CompletionTimestamp records the time the restore operation was completed.
|
|
Completion time is recorded even on failed restore.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
errors:
|
|
description: |-
|
|
Errors is a count of all error messages that were generated during
|
|
execution of the restore. The actual errors are stored in object storage.
|
|
type: integer
|
|
failureReason:
|
|
description: FailureReason is an error that caused the entire restore
|
|
to fail.
|
|
type: string
|
|
hookStatus:
|
|
description: HookStatus contains information about the status of the
|
|
hooks.
|
|
nullable: true
|
|
properties:
|
|
hooksAttempted:
|
|
description: |-
|
|
HooksAttempted is the total number of attempted hooks
|
|
Specifically, HooksAttempted represents the number of hooks that failed to execute
|
|
and the number of hooks that executed successfully.
|
|
type: integer
|
|
hooksFailed:
|
|
description: HooksFailed is the total number of hooks which ended
|
|
with an error
|
|
type: integer
|
|
type: object
|
|
phase:
|
|
description: Phase is the current state of the Restore
|
|
enum:
|
|
- New
|
|
- FailedValidation
|
|
- InProgress
|
|
- WaitingForPluginOperations
|
|
- WaitingForPluginOperationsPartiallyFailed
|
|
- Completed
|
|
- PartiallyFailed
|
|
- Failed
|
|
- Finalizing
|
|
- FinalizingPartiallyFailed
|
|
type: string
|
|
progress:
|
|
description: |-
|
|
Progress contains information about the restore's execution progress. Note
|
|
that this information is best-effort only -- if Velero fails to update it
|
|
during a restore for any reason, it may be inaccurate/stale.
|
|
nullable: true
|
|
properties:
|
|
itemsRestored:
|
|
description: ItemsRestored is the number of items that have actually
|
|
been restored so far
|
|
type: integer
|
|
totalItems:
|
|
description: |-
|
|
TotalItems is the total number of items to be restored. This number may change
|
|
throughout the execution of the restore due to plugins that return additional related
|
|
items to restore
|
|
type: integer
|
|
type: object
|
|
restoreItemOperationsAttempted:
|
|
description: |-
|
|
RestoreItemOperationsAttempted is the total number of attempted
|
|
async RestoreItemAction operations for this restore.
|
|
type: integer
|
|
restoreItemOperationsCompleted:
|
|
description: |-
|
|
RestoreItemOperationsCompleted is the total number of successfully completed
|
|
async RestoreItemAction operations for this restore.
|
|
type: integer
|
|
restoreItemOperationsFailed:
|
|
description: |-
|
|
RestoreItemOperationsFailed is the total number of async
|
|
RestoreItemAction operations for this restore which ended with an error.
|
|
type: integer
|
|
startTimestamp:
|
|
description: |-
|
|
StartTimestamp records the time the restore operation was started.
|
|
The server's time is used for StartTimestamps
|
|
format: date-time
|
|
nullable: true
|
|
type: string
|
|
validationErrors:
|
|
description: |-
|
|
ValidationErrors is a slice of all validation errors (if
|
|
applicable)
|
|
items:
|
|
type: string
|
|
nullable: true
|
|
type: array
|
|
warnings:
|
|
description: |-
|
|
Warnings is a count of all warning messages that were generated during
|
|
execution of the restore. The actual warnings are stored in object storage.
|
|
type: integer
|
|
type: object
|
|
type: object
|
|
served: true
|
|
storage: true
|