Migration from GitLab Cloud¶
At GitLabHost, we have created internal tooling to perform a migration of your groups, projects and users hosted on the GitLab.com cloud to an instance hosted by GitLabHost.
This document lists known issues, caveats, requirements, and other details about the migration process, so you know what to expect from a migration process.
Important remarks¶
-
We use the built-in group and project export and import features of GitLab. These have known caveats, please read the Items that are exported list on GitLab.com
-
Email addresses on GitLab.com are not publicly readable, but we need to know the addresses for perform the migration. Please read the Email Addresses section for more information.
-
Before, during, and for a short amount of time after the migration, we disable all email sending on the target GitLab instance to prevent users from being bombarded with emails about project imports and permission assignment. This causes functionality such as password reset to not work during the migration.
-
We do not send out password reset emails for users we create during the migration. Users will have to manually perform a password reset after the migration, or sign up using SSO.
-
In addition to the items exported by GitLab by default, we also attempt to migrate users and their profiles. This includes public SSH and GPG keys that the user has set on their profile.
-
Two Factor Auth registrations are not migrated, and when 2FA is enforced in groups, users will have to manually re-register their 2FA integration. Users will be prompted for this when they first log in on the target instance.
Migration steps¶
- Please contact us about your migration, so we can plan the migration together.
- Ensure you have all requirements ready before the migration.
- We discover the groups, projects and users you currently have on GitLab.com to create an overview of data to migrate.
- We send you the list of usernames we discovered to complete the email address mapping.
- We schedule and then perform a (partial) test migration if you want one.
- You take a look around your new instance to double-check that the test migration is performed as required.
- We perform the full final migration.
Requirements¶
For us to perform a migration for you, you need to have the following things ready at the time of migration:
-
You need to add our GitLabHost User on GitLab.com to your group, and give it
Owner
level permissions. This is required because only owners can request exports. -
You need to have a working target instance hosted by GitLabHost. If you do not have one already, create one via our self-service Control Panel, or contact our support team
Email addresses¶
Email addresses on GitLab.com are not publicly readable, but we need to know the addresses for perform the migration.
During the discovery step of the migration, we create a list of usernames found on the source instance. We try to map email addresses that we can find, to the correct usernames where possible.
This is only possible when users have their email address set to public, or the user that already exists on the target instance.
If the list is incomplete, we will send you the complete list and request you to fill in the blanks.
The list is formatted in toml
format, and looks like this:
[users]
gitlabhost = "support@gitlabhost.com" # Completed example
username = "" # Missing email
"user.with.dots" = "" # Missing email, quoted username for formatting
toml
is a fairly standard format for configuration files, and you may be able to automate
filling in the list if you have the required information stored in computer-readable format somewhere.
If the email address are predictable, for example, they are always username@companyname.com
,
we can auto-fill the list for you.
Alternatively, you can also have your users either sign up or invited to the target instance with the same username as on the source instance, so we can fetch the required information with the API on the target instance.