Docs: Reorganize "Setting up Geo" for clarity

Problem

The current structure has multiple points of confusion.

Current docs landing page https://docs.gitlab.com/ee/administration/geo/setup/

  1. A sysadmin should be able to configure Geo on almost any supported GitLab architecture
  2. It should be as easy as possible

Currently we have 2 runbook-style docs which address point 2 for simple 1k primary + 1k secondary ref architectures.

But we still fall short in a lot of ways on point 1.

Proposal

This proposal was originally quite different (see the description change). See the thread leading to the current proposal.

Primary setup

1K Geo reference architecture

Configure single-node primary

  1. Using externally-managed rails DB
  2. Using Linux-packaged rails DB

2K Geo reference architecture

Configure multi-node primary

  1. Configure externally managed rails DB - no HA
  2. Configure Linux-packaged rails DB

3K+ Geo reference architecture

Configure multi-node primary

  1. Configure externally managed rails DB - HA
  2. Configure Linux-packaged rails DB

Secondary setup

1K Geo reference architecture

Configure single-node secondary

  1. Using externally-managed rails DB
  2. Using Linux-packaged rails DB
  3. Configure externally-managed Geo tracking DB
  4. Configure Linux packaged Geo tracking DB

2K Geo reference architecture

Configure multi-node secondary

  1. Rails DB - no HA
    1. Configure externally-managed rails DB
    2. Configure Linux-packaged rails DB
  2. Geo tracking DB - no HA
    1. Configure externally-managed Geo tracking DB
    2. Configure Linux-packaged Geo tracking DB

3K+ Geo reference architecture

Configure multi-node secondary

  1. Rails DB - HA
    1. Configure externally-managed rails DB
    2. Configure Linux-packaged rails DB
  2. Geo tracking DB - HA
    1. Configure externally-managed Geo tracking DB
    2. Configure Linux-packaged Geo tracking DB
Edited by Michael Kozono