Direct Transfer General Availability
## What does General Availability mean for Direct transfer? Since Version 14.3, GitLab has supported migrating GitLab groups by direct transfer, where, rather than manually uploading export files, data is transferred directly from the source instance to the destination instance. We extended this functionality to projects and [included the ability to migrate projects by direct transfer as a beta in GitLab 15.8](https://about.gitlab.com/blog/2023/01/18/try-out-new-way-to-migrate-projects/). Since then we worked to improve the efficiency and reliability of importing, especially of large projects. We've [made a great progress there](https://about.gitlab.com/blog/2023/08/02/how-to-migrate-gitlab-groups-and-projects-more-efficiently/), run many tests of large project imports and [fixed issues we discovered](https://gitlab.com/groups/gitlab-org/-/epics/12006). To give an example of the sizes of the groups and projects we've tested with and import duration, we've seen: - 100 projects (19.9k issues, 83k merge requests, 100k+ pipelines) migrated in 8 hours. - 1926 projects (22k issues, 160k merge requests, 1.1 million pipelines) migrated in 34 hours. Reaching General Availability (GA) is crucial for direct transfer adoption since many customers avoid beta products due to internal requirements, suspicion about reliability, and uncertainty about performance. GA status provides the assurance they need while delivering a smoother experience. ## Product Requirements Direct Transfer has to meet requirements listed [here](https://docs.gitlab.com/ee/policy/experiment-beta-support.html#generally-available-ga): - Ready for production use at any scale. - Fully documented and [supported](https://gitlab.com/gitlab-com/support/support-team-meta/-/issues/5426). - User experience complete and in line with GitLab design standards. - Completed the [Production Readiness Review](https://about.gitlab.com/handbook/engineering/infrastructure/production/readiness) | [issue](https://gitlab.com/gitlab-com/gl-infra/readiness/-/issues/83) - Complete all sections up to and including the [GA section in the readiness template](https://gitlab.com/gitlab-com/gl-infra/readiness/-/blob/master/.gitlab/issue_templates/production_readiness.md#general-availability). ## Scope The initial scope was prepared in https://gitlab.com/groups/gitlab-org/-/epics/11400+. However, as that epic was created a longer while ago, we actually delivered more features, bug fixes and maintenance improvements that were listed there, for example: - https://gitlab.com/gitlab-org/gitlab/-/issues/443492+ - https://gitlab.com/gitlab-org/gitlab/-/issues/438281+ - https://gitlab.com/gitlab-org/gitlab/-/issues/458834+ - [Improved user contribution mapping](https://gitlab.com/groups/gitlab-org/-/epics/12378) (excluding https://gitlab.com/groups/gitlab-org/-/epics/14774+). With user contribution and membership mapping customers are able to assign imported contributions to users on the destination after migration. This approach requires less preparation and allows for users to have different email addresses in different systems. When using user contribution and membership mapping, each user must explicitly accept assignments of contributions and can reject the assignment. You can read more about the feature [here](https://docs.gitlab.com/ee/user/project/import/#user-contribution-and-membership-mapping). - Visual indicators to imported content, like MRs and issues, to make those items easily identifiable. See: https://gitlab.com/gitlab-org/gitlab/-/issues/470490+. ## Ability to access - Both GitLab instances must have group and project migration by direct transfer enabled in application settings by an instance administrator. Documented in [user docs](https://docs.gitlab.com/ee/user/group/import/#prerequisites) and [admin docs](https://docs.gitlab.com/ee/administration/settings/visibility_and_access_controls.html#enable-migration-of-groups-and-projects-by-direct-transfer). - The feature is enabled on GitLab.com. ## Communications - [x] Updates to stakeholders. - [x] Blog post announcing the GA: https://about.gitlab.com/blog/migrating-by-direct-transfer-is-generally-available/ <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION --> *This page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features, or functionality remain at the sole discretion of GitLab Inc.* <!-- triage-serverless v3 PLEASE DO NOT REMOVE THIS SECTION -->
epic