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