Offline migrations: investigate object storage with POC

During the discovery work for offline migrations, there were questions on the architecture design document on details of how object storage could be implemented and supported for the varying needs of customers. Since this is a critical piece of offline migrations, a proof of concept should be created to explore how to leverage external object storage in offline migrations in GitLab.

Specifically, the POC should strive to answer:

  • What are some implementation options to allow customers to provide an object storage provider and credentials to access it for offline migrations?
  • Which implementation is the most viable?
  • Are there any blocking security concerns with this approach?
  • Does this approach use existing GitLab object storage infrastructure? Do any new tools need to be introduced?
  • Are there any additional security concerns that need to be addressed for SaaS?
  • Will we be able to support customers who can't use any external storage providers (organization security policy, etc.)?
  • What will the user flow be like for those customers?
  • Does this approach have any notable side effects on the migration process?

Related to