Migrate GitLab Pages to object storage on self-hosted installs
As mentioned in https://gitlab.com/groups/gitlab-org/-/epics/3901#note_509285308
For Self-managed users, we won't migrate them to "object storage" actually, we will migrate them to "zip storage" which can be stored in object storage, or can be located on the NFS. We don't need any new infrastructure from users to do that. If they have object storage configured for pages - awesome, we will migrate them to object storage. If not - we just NFS(or just disk storage for single-node instances), and copy zipped version of pages sites there.
All of this will be done once users upgrade to the newer version of GitLab automatically(not yet done, but plans is %"13.10" or %"13.11").
After that users can run a specific rake task which will:
* show how many projects migrated automatically and how many still need to be migrated
* interactively ask users if the want to migrate all not yet migrated projects
* report all the inconsistencies on the current storage and suggest fixing them after investigating
* after users have validated that all errors are legit, they can rerun task in the mode which will try to fix these errors(mostly just ignore all invalid symlinks, and ignore projects without deployed pages but marked as deployed)
* there will be another rake task for migrating between disk and object storage (just uploading or downloading zip archives)
epic