Investigate "one-click" migration proof of concept
Overview
In &2901 (closed), we'd like to iterate toward a comprehensive migration tool.
While we've made great progress on individual tools like project and group import/export, our ultimate goal is a straightforward, high-quality, near one-click experience for a user that migrates projects, groups, and users. A user should not be required to download and manage files.
Problem
As partially discussed in https://gitlab.com/gitlab-org/manage/import/backend/discussion/-/issues/1, the starting point for this experience isn't clear yet.
In order to proceed, we should define an engineering plan that delivers something of value quickly and allows us to iterate.
@hdelalic
Proposal fromWe could think about 2 separate MVCs that we play in parallel:
- Wrap the current project (or group) export/import in a better user experience by providing an experience similar to GitHub/Bitbucket importers, but still use file-based export and import by orchestrating the export, intermediate storage, and import. Then, iterate to replace some of the cumbersome aspects of exporting, storing, and importing files with more elegant and robust solutions. This solution would be initiated on the destination server, using the current UX to select this new type of import.
- Create a very simple (for example, issues only - similar to CSV importer) importer that is based on the API-only approach. Then, iterate to add more and more objects and relationships. This solution would be initiated in the source instance, using a simple UI that allows us to "push" the data to the destination instance (iterating toward the "Take me to the cloud" experience).
Edited by Haris Delalić