Add support for restoring from a backup
Backing up is becoming more complicated with data stored in individual Gitaly nodes as well as object storage.
The first step should be to create a taxonomy / table of all the data, where it is stored, and options for restoration. From there we can tackle sub issues based on readiness.
Some notes on the topic from previous discussions:
As a proof of concept, we could add a rails container to the gitaly pod. (So we can restore the repos without gitaly needing support). Provide it a backup through object-storage.
Manually exec in and restore it. Then kick off some sidekiq workers right in the same container, to sync the local data into object storage.
Then we try and figure out how to do the reverse. Create a backup and put it in object storage.
Once gitaly is ready for backup/restore, we can move the POC into it's own Job.
And then we will need to tackle the services that won't be covered by GitLab, like the registry.