Add support for GitLab Geo
What does this MR do?
TODO:
-
⚠ Rebase after !959 (merged) merged.
Add support for GitLab Geo
Add support for reconciling Geo Logcursor, which is a separate Deployment running on each secondary site. It monitors the Geo Event Log for new events and creates background jobs for each specific event type.
Closes #1568 (closed)
Changelog: added
Checklist
See Definition of done.
For anything in this list which will not be completed, please provide a reason in the MR discussion.
Required
-
Merge Request Title and Description are up to date, accurate, and descriptive -
MR targeting the appropriate branch -
MR has a green pipeline on GitLab.com -
When ready for review, MR is labeled "~workflow::ready for review" per the Distribution MR workflow
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Tests added -
Integration tests added to GitLab QA -
Equivalent MR/issue for omnibus-gitlab opened -
Validate potential values for new configuration settings. Formats such as integer10, duration10s, URIscheme://user:passwd@host:portmay require quotation or other special handling when rendered in a template and written to a configuration file.
Related issues
Closes Support Geo deployment (#1568 - closed) • Clemens Beck • 17.6 • At risk
Test Plan
-
Follow along the documentation to create a Geo setup
-
Prerequisites:
- two Omnibus VMs
- two K8s clusters
- a domain
-
Tips:
- A Premium/Ultimate license is needed for Geo.
- You can use a team member license (https://docs.gitlab.com/charts/development/environment_setup.html#developer-license)
- You need to configure the team member license on the Primary site on installation (won't work on upgrade).
- You can update the DNS entry of the unified hostname to resolve to the primary/secondary ingress LB to stub location aware DNS.
- A Premium/Ultimate license is needed for Geo.
-
Confirm replication works:
-
Confirm logins work on: -
the secondaries internal URL -
the primaries internal URL -
the unified URL/hostname (resolving to the primary instance) -
the unified URL/hostname (resolving to the secondary instance)
-
Edited by Hossein Pursultani
