From 23268d0bc70ec6db7638c1eb1d7aec154f7c2dbb Mon Sep 17 00:00:00 2001 From: oadp-team-rebase-bot Date: Wed, 17 Dec 2025 03:07:34 +0000 Subject: [PATCH 1/2] UPSTREAM: : update Velero CRDs @ oadp-dev --- .../bases/velero.io_backuprepositories.yaml | 3 +- config/crd/bases/velero.io_backups.yaml | 11 +++ config/crd/bases/velero.io_datadownloads.yaml | 4 + config/crd/bases/velero.io_datauploads.yaml | 14 ++++ .../crd/bases/velero.io_podvolumebackups.yaml | 70 +++++++++++++----- .../bases/velero.io_podvolumerestores.yaml | 73 +++++++++++++------ config/crd/bases/velero.io_schedules.yaml | 4 + 7 files changed, 133 insertions(+), 46 deletions(-) diff --git a/config/crd/bases/velero.io_backuprepositories.yaml b/config/crd/bases/velero.io_backuprepositories.yaml index 2ac737063ef..19e4ce0dc35 100644 --- a/config/crd/bases/velero.io_backuprepositories.yaml +++ b/config/crd/bases/velero.io_backuprepositories.yaml @@ -71,7 +71,7 @@ spec: resticIdentifier: description: |- ResticIdentifier is the full restic-compatible string for identifying - this repository. + this repository. This field is only used when RepositoryType is "restic". type: string volumeNamespace: description: |- @@ -81,7 +81,6 @@ spec: required: - backupStorageLocation - maintenanceFrequency - - resticIdentifier - volumeNamespace type: object status: diff --git a/config/crd/bases/velero.io_backups.yaml b/config/crd/bases/velero.io_backups.yaml index 9a2a88e3f05..794c342c861 100644 --- a/config/crd/bases/velero.io_backups.yaml +++ b/config/crd/bases/velero.io_backups.yaml @@ -507,6 +507,10 @@ spec: uploads to perform when using the uploader. type: integer type: object + volumeGroupSnapshotLabelKey: + description: VolumeGroupSnapshotLabelKey specifies the label key to + group PVCs under a VGS. + type: string volumeSnapshotLocations: description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup. @@ -590,6 +594,8 @@ spec: description: Phase is the current state of the Backup. enum: - New + - Queued + - ReadyToStart - FailedValidation - InProgress - WaitingForPluginOperations @@ -621,6 +627,11 @@ spec: filters that happen as items are processed. type: integer type: object + queuePosition: + description: |- + QueuePosition is the position of the backup in the queue. + Only relevant when Phase is "Queued" + type: integer startTimestamp: description: |- StartTimestamp records the time a backup was started. diff --git a/config/crd/bases/velero.io_datadownloads.yaml b/config/crd/bases/velero.io_datadownloads.yaml index 5239aee619f..2f24f7e8152 100644 --- a/config/crd/bases/velero.io_datadownloads.yaml +++ b/config/crd/bases/velero.io_datadownloads.yaml @@ -108,6 +108,10 @@ spec: description: SnapshotID is the ID of the Velero backup snapshot to be restored from. type: string + snapshotSize: + description: SnapshotSize is the logical size in Bytes of the snapshot. + format: int64 + type: integer sourceNamespace: description: |- SourceNamespace is the original namespace where the volume is backed up from. diff --git a/config/crd/bases/velero.io_datauploads.yaml b/config/crd/bases/velero.io_datauploads.yaml index 48d711a0643..c4c25cce626 100644 --- a/config/crd/bases/velero.io_datauploads.yaml +++ b/config/crd/bases/velero.io_datauploads.yaml @@ -33,6 +33,12 @@ spec: jsonPath: .status.progress.totalBytes name: Total Bytes type: integer + - description: Incremental bytes + format: int64 + jsonPath: .status.incrementalBytes + name: Incremental Bytes + priority: 10 + type: integer - description: Name of the Backup Storage Location where this backup should be stored jsonPath: .spec.backupStorageLocation @@ -87,6 +93,9 @@ spec: of the CSI snapshot. 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 @@ -170,6 +179,11 @@ spec: as a result of the DataUpload. nullable: true type: object + incrementalBytes: + description: IncrementalBytes holds the number of bytes new or changed + since the last backup + format: int64 + type: integer message: description: Message is a message about the DataUpload's status. type: string diff --git a/config/crd/bases/velero.io_podvolumebackups.yaml b/config/crd/bases/velero.io_podvolumebackups.yaml index 9ccff4124a5..2e7fe705654 100644 --- a/config/crd/bases/velero.io_podvolumebackups.yaml +++ b/config/crd/bases/velero.io_podvolumebackups.yaml @@ -15,38 +15,47 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: Pod Volume Backup status such as New/InProgress + - description: PodVolumeBackup status such as New/InProgress jsonPath: .status.phase name: Status type: string - - description: Time when this backup was started + - description: Time duration since this PodVolumeBackup was started jsonPath: .status.startTimestamp - name: Created + name: Started 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: 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: Incremental bytes + format: int64 + jsonPath: .status.incrementalBytes + name: Incremental Bytes + priority: 10 + type: integer - description: Name of the Backup Storage Location where this backup should be stored jsonPath: .spec.backupStorageLocation name: Storage Location type: string - - jsonPath: .metadata.creationTimestamp + - description: Time duration since this PodVolumeBackup was created + jsonPath: .metadata.creationTimestamp name: Age type: date + - description: Name of the node where the PodVolumeBackup is processed + jsonPath: .status.node + name: Node + type: string + - description: The type of the uploader to handle data transfer + jsonPath: .spec.uploaderType + name: Uploader + type: string name: v1 schema: openAPIV3Schema: @@ -76,6 +85,11 @@ spec: 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 PodVolumeBackup. It can be set + when the PodVolumeBackup is in InProgress phase + type: boolean node: description: Node is the name of the node that the Pod is running on. @@ -165,6 +179,13 @@ spec: status: description: PodVolumeBackupStatus is the current status of a PodVolumeBackup. properties: + acceptedTimestamp: + description: |- + AcceptedTimestamp records the time the pod volume backup is to be prepared. + The server's time is used for AcceptedTimestamp + format: date-time + nullable: true + type: string completionTimestamp: description: |- CompletionTimestamp records the time a backup was completed. @@ -174,6 +195,11 @@ spec: format: date-time nullable: true type: string + incrementalBytes: + description: IncrementalBytes holds the number of bytes new or changed + since the last backup + format: int64 + type: integer message: description: Message is a message about the pod volume backup's status. type: string @@ -185,7 +211,11 @@ spec: description: Phase is the current state of the PodVolumeBackup. enum: - New + - Accepted + - Prepared - InProgress + - Canceling + - Canceled - Completed - Failed type: string diff --git a/config/crd/bases/velero.io_podvolumerestores.yaml b/config/crd/bases/velero.io_podvolumerestores.yaml index 888ac166963..e2917ead242 100644 --- a/config/crd/bases/velero.io_podvolumerestores.yaml +++ b/config/crd/bases/velero.io_podvolumerestores.yaml @@ -15,39 +15,40 @@ spec: 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 + - description: PodVolumeRestore status such as New/InProgress jsonPath: .status.phase name: Status type: string - - description: Pod Volume Restore status such as New/InProgress + - description: Time duration since this PodVolumeRestore was started + jsonPath: .status.startTimestamp + name: Started + type: date + - description: Completed bytes format: int64 - jsonPath: .status.progress.totalBytes - name: TotalBytes + jsonPath: .status.progress.bytesDone + name: Bytes Done type: integer - - description: Pod Volume Restore status such as New/InProgress + - description: Total bytes format: int64 - jsonPath: .status.progress.bytesDone - name: BytesDone + jsonPath: .status.progress.totalBytes + name: Total Bytes type: integer - - jsonPath: .metadata.creationTimestamp + - 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 PodVolumeRestore was created + jsonPath: .metadata.creationTimestamp name: Age type: date + - description: Name of the node where the PodVolumeRestore is processed + jsonPath: .status.node + name: Node + type: string + - description: The type of the uploader to handle data transfer + jsonPath: .spec.uploaderType + name: Uploader Type + type: string name: v1 schema: openAPIV3Schema: @@ -77,6 +78,11 @@ spec: 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 PodVolumeRestore. It can be set + when the PodVolumeRestore is in InProgress phase + type: boolean pod: description: Pod is a reference to the pod containing the volume to be restored. @@ -127,6 +133,10 @@ spec: snapshotID: description: SnapshotID is the ID of the volume snapshot to be restored. type: string + snapshotSize: + description: SnapshotSize is the logical size in Bytes of the snapshot. + format: int64 + type: integer sourceNamespace: description: SourceNamespace is the original namespace for namaspace mapping. @@ -162,6 +172,13 @@ spec: status: description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore. properties: + acceptedTimestamp: + description: |- + AcceptedTimestamp records the time the pod volume restore is to be prepared. + The server's time is used for AcceptedTimestamp + format: date-time + nullable: true + type: string completionTimestamp: description: |- CompletionTimestamp records the time a restore was completed. @@ -173,11 +190,19 @@ spec: message: description: Message is a message about the pod volume restore's status. type: string + node: + description: Node is name of the node where the pod volume restore + is processed. + type: string phase: description: Phase is the current state of the PodVolumeRestore. enum: - New + - Accepted + - Prepared - InProgress + - Canceling + - Canceled - Completed - Failed type: string diff --git a/config/crd/bases/velero.io_schedules.yaml b/config/crd/bases/velero.io_schedules.yaml index 857d4a1ee1a..7719a4b132d 100644 --- a/config/crd/bases/velero.io_schedules.yaml +++ b/config/crd/bases/velero.io_schedules.yaml @@ -549,6 +549,10 @@ spec: uploads to perform when using the uploader. type: integer type: object + volumeGroupSnapshotLabelKey: + description: VolumeGroupSnapshotLabelKey specifies the label key + to group PVCs under a VGS. + type: string volumeSnapshotLocations: description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup. From a8b2001bb43c840462fd61151d8d1a4320777c4c Mon Sep 17 00:00:00 2001 From: oadp-team-rebase-bot Date: Wed, 17 Dec 2025 03:08:04 +0000 Subject: [PATCH 2/2] UPSTREAM: : make bundle update --- .../velero.io_backuprepositories.yaml | 3 +- bundle/manifests/velero.io_backups.yaml | 11 +++ bundle/manifests/velero.io_datadownloads.yaml | 4 + bundle/manifests/velero.io_datauploads.yaml | 14 ++++ .../manifests/velero.io_podvolumebackups.yaml | 70 +++++++++++++----- .../velero.io_podvolumerestores.yaml | 73 +++++++++++++------ bundle/manifests/velero.io_schedules.yaml | 4 + 7 files changed, 133 insertions(+), 46 deletions(-) diff --git a/bundle/manifests/velero.io_backuprepositories.yaml b/bundle/manifests/velero.io_backuprepositories.yaml index 06520884edc..5f1c4743898 100644 --- a/bundle/manifests/velero.io_backuprepositories.yaml +++ b/bundle/manifests/velero.io_backuprepositories.yaml @@ -71,7 +71,7 @@ spec: resticIdentifier: description: |- ResticIdentifier is the full restic-compatible string for identifying - this repository. + this repository. This field is only used when RepositoryType is "restic". type: string volumeNamespace: description: |- @@ -81,7 +81,6 @@ spec: required: - backupStorageLocation - maintenanceFrequency - - resticIdentifier - volumeNamespace type: object status: diff --git a/bundle/manifests/velero.io_backups.yaml b/bundle/manifests/velero.io_backups.yaml index e6c26cabee6..4eb8e293a00 100644 --- a/bundle/manifests/velero.io_backups.yaml +++ b/bundle/manifests/velero.io_backups.yaml @@ -507,6 +507,10 @@ spec: uploads to perform when using the uploader. type: integer type: object + volumeGroupSnapshotLabelKey: + description: VolumeGroupSnapshotLabelKey specifies the label key to + group PVCs under a VGS. + type: string volumeSnapshotLocations: description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup. @@ -590,6 +594,8 @@ spec: description: Phase is the current state of the Backup. enum: - New + - Queued + - ReadyToStart - FailedValidation - InProgress - WaitingForPluginOperations @@ -621,6 +627,11 @@ spec: filters that happen as items are processed. type: integer type: object + queuePosition: + description: |- + QueuePosition is the position of the backup in the queue. + Only relevant when Phase is "Queued" + type: integer startTimestamp: description: |- StartTimestamp records the time a backup was started. diff --git a/bundle/manifests/velero.io_datadownloads.yaml b/bundle/manifests/velero.io_datadownloads.yaml index 9d1ba5aca86..ea49a4955c6 100644 --- a/bundle/manifests/velero.io_datadownloads.yaml +++ b/bundle/manifests/velero.io_datadownloads.yaml @@ -108,6 +108,10 @@ spec: description: SnapshotID is the ID of the Velero backup snapshot to be restored from. type: string + snapshotSize: + description: SnapshotSize is the logical size in Bytes of the snapshot. + format: int64 + type: integer sourceNamespace: description: |- SourceNamespace is the original namespace where the volume is backed up from. diff --git a/bundle/manifests/velero.io_datauploads.yaml b/bundle/manifests/velero.io_datauploads.yaml index 2f2e8f9dbda..4adae14d1ea 100644 --- a/bundle/manifests/velero.io_datauploads.yaml +++ b/bundle/manifests/velero.io_datauploads.yaml @@ -33,6 +33,12 @@ spec: jsonPath: .status.progress.totalBytes name: Total Bytes type: integer + - description: Incremental bytes + format: int64 + jsonPath: .status.incrementalBytes + name: Incremental Bytes + priority: 10 + type: integer - description: Name of the Backup Storage Location where this backup should be stored jsonPath: .spec.backupStorageLocation @@ -87,6 +93,9 @@ spec: of the CSI snapshot. 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 @@ -170,6 +179,11 @@ spec: as a result of the DataUpload. nullable: true type: object + incrementalBytes: + description: IncrementalBytes holds the number of bytes new or changed + since the last backup + format: int64 + type: integer message: description: Message is a message about the DataUpload's status. type: string diff --git a/bundle/manifests/velero.io_podvolumebackups.yaml b/bundle/manifests/velero.io_podvolumebackups.yaml index d6d8749302e..0bf3fcd1887 100644 --- a/bundle/manifests/velero.io_podvolumebackups.yaml +++ b/bundle/manifests/velero.io_podvolumebackups.yaml @@ -15,38 +15,47 @@ spec: scope: Namespaced versions: - additionalPrinterColumns: - - description: Pod Volume Backup status such as New/InProgress + - description: PodVolumeBackup status such as New/InProgress jsonPath: .status.phase name: Status type: string - - description: Time when this backup was started + - description: Time duration since this PodVolumeBackup was started jsonPath: .status.startTimestamp - name: Created + name: Started 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: 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: Incremental bytes + format: int64 + jsonPath: .status.incrementalBytes + name: Incremental Bytes + priority: 10 + type: integer - description: Name of the Backup Storage Location where this backup should be stored jsonPath: .spec.backupStorageLocation name: Storage Location type: string - - jsonPath: .metadata.creationTimestamp + - description: Time duration since this PodVolumeBackup was created + jsonPath: .metadata.creationTimestamp name: Age type: date + - description: Name of the node where the PodVolumeBackup is processed + jsonPath: .status.node + name: Node + type: string + - description: The type of the uploader to handle data transfer + jsonPath: .spec.uploaderType + name: Uploader + type: string name: v1 schema: openAPIV3Schema: @@ -76,6 +85,11 @@ spec: 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 PodVolumeBackup. It can be set + when the PodVolumeBackup is in InProgress phase + type: boolean node: description: Node is the name of the node that the Pod is running on. @@ -165,6 +179,13 @@ spec: status: description: PodVolumeBackupStatus is the current status of a PodVolumeBackup. properties: + acceptedTimestamp: + description: |- + AcceptedTimestamp records the time the pod volume backup is to be prepared. + The server's time is used for AcceptedTimestamp + format: date-time + nullable: true + type: string completionTimestamp: description: |- CompletionTimestamp records the time a backup was completed. @@ -174,6 +195,11 @@ spec: format: date-time nullable: true type: string + incrementalBytes: + description: IncrementalBytes holds the number of bytes new or changed + since the last backup + format: int64 + type: integer message: description: Message is a message about the pod volume backup's status. type: string @@ -185,7 +211,11 @@ spec: description: Phase is the current state of the PodVolumeBackup. enum: - New + - Accepted + - Prepared - InProgress + - Canceling + - Canceled - Completed - Failed type: string diff --git a/bundle/manifests/velero.io_podvolumerestores.yaml b/bundle/manifests/velero.io_podvolumerestores.yaml index c67c3e3508a..b6f68355a82 100644 --- a/bundle/manifests/velero.io_podvolumerestores.yaml +++ b/bundle/manifests/velero.io_podvolumerestores.yaml @@ -15,39 +15,40 @@ spec: 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 + - description: PodVolumeRestore status such as New/InProgress jsonPath: .status.phase name: Status type: string - - description: Pod Volume Restore status such as New/InProgress + - description: Time duration since this PodVolumeRestore was started + jsonPath: .status.startTimestamp + name: Started + type: date + - description: Completed bytes format: int64 - jsonPath: .status.progress.totalBytes - name: TotalBytes + jsonPath: .status.progress.bytesDone + name: Bytes Done type: integer - - description: Pod Volume Restore status such as New/InProgress + - description: Total bytes format: int64 - jsonPath: .status.progress.bytesDone - name: BytesDone + jsonPath: .status.progress.totalBytes + name: Total Bytes type: integer - - jsonPath: .metadata.creationTimestamp + - 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 PodVolumeRestore was created + jsonPath: .metadata.creationTimestamp name: Age type: date + - description: Name of the node where the PodVolumeRestore is processed + jsonPath: .status.node + name: Node + type: string + - description: The type of the uploader to handle data transfer + jsonPath: .spec.uploaderType + name: Uploader Type + type: string name: v1 schema: openAPIV3Schema: @@ -77,6 +78,11 @@ spec: 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 PodVolumeRestore. It can be set + when the PodVolumeRestore is in InProgress phase + type: boolean pod: description: Pod is a reference to the pod containing the volume to be restored. @@ -127,6 +133,10 @@ spec: snapshotID: description: SnapshotID is the ID of the volume snapshot to be restored. type: string + snapshotSize: + description: SnapshotSize is the logical size in Bytes of the snapshot. + format: int64 + type: integer sourceNamespace: description: SourceNamespace is the original namespace for namaspace mapping. @@ -162,6 +172,13 @@ spec: status: description: PodVolumeRestoreStatus is the current status of a PodVolumeRestore. properties: + acceptedTimestamp: + description: |- + AcceptedTimestamp records the time the pod volume restore is to be prepared. + The server's time is used for AcceptedTimestamp + format: date-time + nullable: true + type: string completionTimestamp: description: |- CompletionTimestamp records the time a restore was completed. @@ -173,11 +190,19 @@ spec: message: description: Message is a message about the pod volume restore's status. type: string + node: + description: Node is name of the node where the pod volume restore + is processed. + type: string phase: description: Phase is the current state of the PodVolumeRestore. enum: - New + - Accepted + - Prepared - InProgress + - Canceling + - Canceled - Completed - Failed type: string diff --git a/bundle/manifests/velero.io_schedules.yaml b/bundle/manifests/velero.io_schedules.yaml index c1946c9de78..9777bce4b23 100644 --- a/bundle/manifests/velero.io_schedules.yaml +++ b/bundle/manifests/velero.io_schedules.yaml @@ -549,6 +549,10 @@ spec: uploads to perform when using the uploader. type: integer type: object + volumeGroupSnapshotLabelKey: + description: VolumeGroupSnapshotLabelKey specifies the label key + to group PVCs under a VGS. + type: string volumeSnapshotLocations: description: VolumeSnapshotLocations is a list containing names of VolumeSnapshotLocations associated with this backup.