Describe the problem/challenge you have
Inspecting, restoring or downloading files from a specific backup is difficult because velero CLI has no option to download the data stored in Restic repositories.
I first encountered this problem when trying to verify backup contents and again when trying to do a partial restore of deleted files.
Describe the solution you'd like
There are a few options I think would be useful:
1) Include a flag to velero backup download like --download-pvc-data which downloads the pvc's into separate files (1 per pvc)
2) Include several generic restic commands from restic <cmd> into velero like so:
velero restic mount <backup-name> <pvc-name> <mount-path> # mount a specific backup and pvc
velero restic download <backup-name> <pvc-name> <target-path> # download a specific backup and pvc
velero restic repo mount <repo-name> # mount the entire repo similar to 'restic mount'
...
Obviously these ideas only work for restic itself and not for volume snapshots.
Environment:
velero version): v1.1.0kubectl version): affects all/etc/os-release): affects all@davidhiendl it is possible to do this using the restic CLI directly. You can get the repository identifier from the appropriate ResticRepository CR (velero restic repo get NAME -o yaml). You additionally need (a) credentials to directly access the object storage bucket, and (b) the repository's encryption password, which is here (we rely on IAM to protect the data).
Hope that helps!
@skriss Thanks for the info, I already figured that out. But that is an quite is an awful lot of actions a user needs to take to accomplish such a simple task. I think it should be easier.
A velero restic repo export NAME command could be nice, it could export the env vars necessary for connecting via restic directly.
While a command to export the condiguration would be useful it would not solve the problem to be able to easily access data the way you identify it in velero. You still have to identify and select the correct host and snapshot Name that belongs to a particular velero backup object.
I think both options should be supported. Since velero only has to lookup the correct backup name/id using it's metadata.
I personally think that it should just be part of velero backup download, perhaps with a command line option like --download-pv (or --no-download-pv), which would require implementation across other providers. While I am using restic currently, so a restic-specific solution would benefit me, I feel like it would be useful elsewhere.
I also feel like it is somewhat disingenuous to offer a feature to "download" a backup, but not actually send any data. That seems like a pretty critical part of the backup?
~tommy
Closing because a duplicate of https://github.com/vmware-tanzu/velero/issues/2684
Most helpful comment
@skriss Thanks for the info, I already figured that out. But that is an quite is an awful lot of actions a user needs to take to accomplish such a simple task. I think it should be easier.