Transfer a top-level group into an Organization
This epic covers the work required for Protocells. Provide the ability to transfer top level groups into an Organization. The below is a high level flowchart representation. Click a node to visit the corresponding epic. ```mermaid graph TD A[Cohort #1] -->|Iterate cohort list| B[Mark TLG Isolated] B -->|Iterate isolated TLGs| C[Send opt-out email] C -->|X days elapsed| D[Mark User/TLG as opted-in] C -->|User click| E[Mark User/TLG as opted-out] D -->|Traverse opt-ins| F[Promote TLG to Organization] F -->|Enforce Isolation| G[Fully Isolated Organization] G -.-> H[Data Migration Process] style H stroke-dasharray: 5 5 click A "https://gitlab.com/gitlab-com/gl-infra/mstaff/-/issues/474" click B "https://gitlab.com/groups/gitlab-org/-/epics/19385" click C "https://gitlab.com/groups/gitlab-org/-/epics/11839" click D "https://gitlab.com/groups/gitlab-org/-/epics/11839" click E "https://gitlab.com/groups/gitlab-org/-/epics/11839" click F "https://gitlab.com/groups/gitlab-org/-/epics/19385" click G "https://gitlab.com/groups/gitlab-org/-/epics/18089" click H "https://gitlab.com/groups/gitlab-com/gl-infra/-/epics/1626" ``` # FY26Q3 Target **The ability to transfer a very small top level group into a new Organization.** We need a facility that will work as a one off for Q3 and then ramp into transferring hundreds of thousands of TLGs after that. I setup a new trial user account with username `alex-nofriends` and accepted all defaults during signup. I was left with the following group `https://gitlab.com/alex-nofriends-group` (don't link this in any way please!). I will leave the account as is to define a minimal top-level group data footprint to target as our first TLG. You have my consent to move this into an Organization. ## Exit criteria (FY26Q4) * GitLab team members will be able to call an Admin API to trigger the transfer of a top-level group to a new Organization. * Ability to successfully transfer `alex-nofriends-group` and `alex-nofriends` user. * Work should be kept updated with the table(s) in https://gitlab.com/groups/gitlab-com/gl-infra/tenant-scale/-/wikis/Sharding-Priorities <!-- STATUS NOTE START --> ## Status 2025-11-10 :tada: **achievements**: - Moved the following issues out of this epic into a future iteration since they're not immediately relevant: * https://gitlab.com/gitlab-org/gitlab/-/issues/571543+ * https://gitlab.com/gitlab-org/gitlab/-/issues/571542+ - Merged https://gitlab.com/gitlab-org/gitlab/-/merge_requests/210812+ :issue-blocked: **blockers**: - None :arrow_forward: **next**: - Finishing up this epic. Then we need to move on to https://gitlab.com/groups/gitlab-org/-/epics/19841+ _Copied from https://gitlab.com/groups/gitlab-org/-/epics/19413#note_2877228906_ <!-- STATUS NOTE END -->
epic