[meta] Improve GitLab Geo
Achieving general availability (GA) for GitLab Geo is only the first of many steps in making GitLab Geo great.
Direction
&16 (closed)
HA secondary (read only) ->Allow secondaries to be highly available including multiple web workers. This is needed to support large teams using the read only secondary (https://gitlab.my.salesforce.com/00T6100001BNhbh) and in disaster recovery situations the secondary which is promoted is already highly available.
#846 (closed)
Disaster recoveryUsing GitLab Geo for replication, provide a clearly documented and straightforward process to manually failover and promote a secondary to primary.
https://gitlab.com/gitlab-org/gitlab-ee/issues/3952
planned failoverIf I'm moving my GitLab instance from one location to another, how do I use DR for a planned failover? This also covers the scenario where I want to fail back to an instance in my original location after a disaster situation has been resolved.
#3912 (closed)
Active proxy for git operationsAsking users to manually update the push
URL every time they clone a new repository is tedious. We should make it possible for people to do both fetch
and push
operations using the secondary by proxying the push
operations to the primary.
This makes easier for people to use geo because they only needed to grab the closest secondary when cloning and they're good to go.
Users are also mostly static relative to secondary nodes, unless they regularly travel large distances, and will always want to use the same secondary. We should allow users to save their preferred secondary.
https://gitlab.com/gitlab-org/gitlab-ee/issues/1381
Active/active distributed gitUltimately, git operations should be possible on any node (active/active) rather than being proxied to the primary (active/passive). Distributed git requires a consensus system
A load balancer could then distribute traffic to any node based on proximity or load.
Links / references
Documentation blurb
Overview
What is it? Why should someone use this feature? What is the underlying (business) problem? How do you use this feature?
Use cases
Who is this for? Provide one or more use cases.
Feature checklist
Make sure these are completed before closing the issue, with a link to the relevant commit.
-
Feature assurance -
Documentation -
Added to features.yml