Update CRDs and CLI to support in-place restore (#10038)

Update CRDs(Restore, DataDownload, PodVolumeRestore) and restore create CLI to support in-place restore

Signed-off-by: Wenkai Yin(尹文开) <yinw@vmware.com>
This commit is contained in:
Wenkai Yin(尹文开)
2026-07-27 17:46:52 +08:00
parent 1711094110
commit e030d4c0eb
18 changed files with 207 additions and 39 deletions
@@ -132,6 +132,9 @@ spec:
repoIdentifier:
description: RepoIdentifier is the backup repository identifier.
type: string
restoreType:
description: RestoreType indicates the type of the restore.
type: string
snapshotID:
description: SnapshotID is the ID of the volume snapshot to be restored.
type: string
@@ -167,6 +170,7 @@ spec:
- backupStorageLocation
- pod
- repoIdentifier
- restoreType
- snapshotID
- sourceNamespace
- volume
@@ -69,6 +69,11 @@ spec:
for the Kubernetes resource to be restored
nullable: true
type: string
existingVolumeDataPolicy:
description: ExistingVolumeDataPolicy specifies the restore behavior
for the volume data to be restored
nullable: true
type: string
hooks:
description: Hooks represent custom behaviors that should be executed
during or post restore.
@@ -471,6 +476,12 @@ spec:
description: UploaderConfig specifies the configuration for the restore.
nullable: true
properties:
deleteExtraFiles:
description: |-
DeleteExtraFiles specifies whether to delete the extra files in the target volume that do not exist in the backup.
This setting is only applicable to File System restores (PodVolumeBackup or CSI File System Data Move) and has no effect on Block Data Move restores.
nullable: true
type: boolean
parallelFilesDownload:
description: ParallelFilesDownload is the concurrency number setting
for restore.
File diff suppressed because one or more lines are too long
@@ -83,6 +83,30 @@ spec:
Cancel indicates request to cancel the ongoing DataDownload. It can be set
when the DataDownload is in InProgress phase
type: boolean
csiSnapshot:
description: CSISnapshot provides the information of the CSI snapshot
used to do the incremental restore.
nullable: true
properties:
driver:
description: Driver is the driver used by the VolumeSnapshotContent
type: string
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
@@ -106,6 +130,9 @@ spec:
OperationTimeout specifies the time used to wait internal operations,
before returning error as timeout.
type: string
restoreType:
description: RestoreType indicates the type of the restore.
type: string
snapshotID:
description: SnapshotID is the ID of the Velero backup snapshot to
be restored from.
@@ -145,6 +172,7 @@ spec:
required:
- backupStorageLocation
- operationTimeout
- restoreType
- snapshotID
- sourceNamespace
- targetVolume
File diff suppressed because one or more lines are too long