Things that Congregate does that our product should do
Context
We have had this conversation before although I don't think it has ever happened in an issue. Congregate is a Python tool developed by the Professional Services team that wraps around the GitLab API and extends the functionality of our product.
What functionality does Congregate extend?
This table lists the features that Congregate can migrate, that our importers cannot. Additionally, the way that Congregate works differs from the product:
- Migrations can be completed in waves
- There are pre-migration steps such as evaluating the total size of the import and how long it might cause a blackout/code-freeze
- Users from the source instance are gathered and created in advance on the GitLab system, including accurate user details (especially email.)
- Audits are conducted to verify the source and target data for user validations so that the import properly assigned all assets to the correct users
- Post-migration checks are conducted to validate total number of commits, branches, tags, disk space, issues, merge requests, comments, user attribution, containers, packages, user memberships, and that CI/CD runners and pipelines are operational
What functionality is crucial for the product to support in the future?
It may not be feasible to replace Congregate entirely with the product, however there are some lessons that can be learned from the audience that this tool serves in terms of their demands and needs.
- TBD based on the above list
Results
If successful, our work in this area should:
- Reduce the amount of overhead needed by Professional Services to conduct a migration
- Reduce the amount of evaluation needed by the Import and Integrate team to prepare for a migration in some cases
- Increase the number of successful migrations
- Congregate also requires premium. This makes sense due to the unique implementations (such as SSO support) - could this be premium+ functionality within the product?
Edited by Michelle Gill