Skip to content

Implement restoring from an Object Storage backup on GCP

Implement restoring data backed up from Object Storage on GCP. This will an MVC.

More implementation plan copied over from Ian's comment below:

Backups

  • GCP backups currently use the Storage Tranfer Service
  • Storage Transfer Service jobs are created that copy from the individual buckets (Uploads, LFS, etc) to one bucket, under the path /backups/$BACKUP_ID/$TARGET

Restores

  • Restores should create Storage Transfer Service jobs that copy from the backup bucket path, to the individual buckets.
  • We should maintain the promise that we do not create or configure the buckets, that is out of scope for the tool.
  • We (probably) should not empty the buckets first. Leave that up to the users to do if they want to
  • So at its most basic, a user would run something like gitlab-backup-cli restore all $BACKUP_ID, and the tool would create the necessary jobs to copy data from the backup bucket path, to the individual buckets, then monitor them for success/failure.
Edited by Aakriti Gupta