changelogs/CHANGELOG-1.10.md
https://github.com/vmware-tanzu/velero/releases/tag/v1.10.0
velero/velero:v1.10.0
https://velero.io/docs/v1.10/upgrade-to-1.10/
In this release, we introduced the Unified Repository architecture to build a data path where data movers and the backup repository are decoupled and a unified backup repository could serve various data movement activities.
In this release, we also deeply integrate Velero with Kopia, specifically, Kopia's uploader modules are isolated as a generic file system uploader; Kopia's repository modules are encapsulated as the unified backup repository.
For more information, refer to the design document.
Velero's file system backup (a.k.s. pod volume backup or formerly restic backup) is refactored as the first user of the Unified Repository architecture. Specifically, we added a new path, the Kopia path, besides the existing Restic path. While Restic path is still available and set as default, you can opt in Kopia path by specifying the uploader-type parameter at installation time. Meanwhile, you are free to restore from existing backups under either path, Velero dynamically switches to the correct path to process the restore.
Because of the new path, we renamed some modules and parameters, refer to the Break Changes section for more details.
For more information, visit the file system backup document and v1.10 upgrade guide document.
Meanwhile, we've created a performance guide for both Restic path and Kopia path, which helps you to choose between the two paths and provides you the best practice to configure them under different scenarios. Please note that the results in the guide are based on our testing environments, you may get different results when testing in your own ones. For more information, visit the performance guide document.
In this release, Velero moves plugins BackupItemAction, RestoreItemAction and VolumeSnapshotterAction to version v1, this allows future plugin changes that do not support backward compatibility, so is a preparation for various complex tasks, for example, data movement tasks. For more information, refer to the plugin versioning design document.
In this release we continued our code modernization work, rewriting some controllers using Kubebuilder v3. This work is ongoing and we will continue to make progress in future releases.
In this release, we enabled dedicate credentials options to volume snapshot locations so that you can specify credentials per volume snapshot location as same as backup storage location.
For more information, please visit the locations document.
In this release we added several changes to enhance the robustness of CSI snapshot procedures, for example, some protection code for error handling, and a mechanism to skip exclusion checks so that CSI snapshot works with various backup resource filters.
In this release, Velero supports to pause/unpause a backup schedule during or after its creation. Specifically:
At creation time, you can specify –paused flag to velero schedule create command, if so, you will create a paused schedule that will not run until it is unpaused
After creation, you can run velero schedule pause or velero schedule unpause command to pause/unpause a schedule
In order to fix CVEs, we changed Velero's runtime and dependencies as follows:
Bump go runtime to v1.18.8 Bump some core dependent libraries to newer versions Compile Restic (v0.13.1) with go 1.18.8 instead of packaging the official binary
Due to file system backup refactor, below modules and parameters name have been changed in this release:
restic daemonset is renamed to node-agent
resticRepository CR is renamed to backupRepository
velero restic repo command is renamed to velero repo
velero-restic-credentials secret is renamed to velero-repo-credentials
default-volumes-to-restic parameter is renamed to default-volumes-to-fs-backup
restic-timeout parameter is renamed to fs-backup-timeout
default-restic-prune-frequency parameter is renamed to default-repo-maintain-frequency
Due to the major changes of file system backup, the old upgrade steps are not suitable any more. For the new upgrade steps, visit v1.10 upgrade guide document.
In this release, Kopia backup repository (so the Kopia path of file system backup) doesn't support self signed certificate for S3 compatible storage. To track this problem, refer to this Velero issue or Kopia issue.
Due to the code change in Velero, there will be some code change required in vSphere plugin, without which the functionality may be impacted. Therefore, if you are using vSphere plugin in your workflow, please hold the upgrade until the issue #485 is fixed in vSphere plugin.
WithClusterName method
as it is a "legacy field that was
always cleared by the system and never used" as per upstream k8s
https://github.com/kubernetes/apimachinery/blob/release-1.24/pkg/apis/meta/v1/types.go#L257-L259 (#5471, @kcboyle)velero restic repo to velero repo (#5446, @allenxu404)<backup name>-csi-volumesnapshots.json.gz and DownloadTargetKindCSIBackupVolumeSnapshotContents to download only <backup name>-csi-volumesnapshotcontents.json.gz in the DownloadRequest CR structure. These files are already present in the backup layout. (#4980, @anshulahuja98)