Draft: Full POC of organization data replication with GDK cells

What does this merge request do and why?

Part of gitlab#571916 (closed)

Part of gitlab#546267

This is the full POC MR with all gdk org commands to support organization migration between cells using Geo replication. This enables testing the organization migration workflow in a local GDK environment.

For incremental review, this is being split into smaller MRs:

  • !5676 - replication-status command (ready for review)
  • !5677 - configure-replication command (ready for review)
  • More MRs to follow

New commands

Command Description
gdk org configure-replication Configure Geo replication between source and target cells
gdk org start-replication Start replicating organization data to target cell
gdk org stop-replication Stop the replication process
gdk org replication-status Check replication status (use --wait to block until complete)
gdk org cutover Complete the migration and switch traffic to target cell
gdk org delete Delete organization data from source cell after migration
gdk org rollback-replication Rollback replicated data

New support scripts

  • support/cells/create-org-test-data - Creates test organization with users, groups, and projects
  • support/cells/verify-org-migration - Verifies organization data was migrated correctly
  • support/cells/org-migration-install - End-to-end install and test script (runs in CI)

CI job

A new org-migration-install CI job tests the full organization migration workflow, similar to the geo-install job.

How to set up and validate locally

Run the end-to-end script which installs GDK from scratch:

# Set your license (required - Premium or Ultimate)
export GITLAB_ACTIVATION_CODE="your-activation-code"
# OR
export GITLAB_LICENSE_FILE="/path/to/license.gitlab-license"

# Optional: customize branches (these are the defaults)
export GDK_BRANCH="mk/gdk-org-configure-replication"
export GITLAB_BRANCH="mk/org-migration-target"

# Run from an empty directory
mkdir org-migration-test && cd org-migration-test

# Download and run the script
curl -fsSL "https://gitlab.com/gitlab-org/gitlab-development-kit/-/raw/mk/gdk-org-configure-replication/support/cells/org-migration-install" -o org-migration-install
chmod +x org-migration-install
./org-migration-install

Option 2: Manual setup

See the detailed manual setup instructions in the MR diff for doc/howto/cells.md.

Merge request checklist

  • This MR references an issue describing the change.
  • This change is backward compatible.
  • Tests added for new functionality. If not, raise an issue to follow-up.
  • Documentation added/updated.
Edited by Michael Kozono

Merge request reports

Loading