Cells - Iteration 2 - User can create group on Cell 2 while users are shared between Cells
## Introduction
This epic describes all aspects to implement a second iteration of Cells architecture: https://docs.gitlab.com/ee/architecture/blueprints/cells/.
## Goal
Two running Cells share User data. User can create a new top-level group on either of those Cells. The top-level groups are not shared between Cells.
## Architecture
* The change will focus on a specific workflow: user goes to Cell 2 and creates new group.
* The change will classify cluster-wide via `gitlab_main_clusterwide` tables specific to the above workflow and related to holding users data.
* The change will introduce `gitlab_main_cell` as a way to indicate set of tables that needs to be stored in a Cell.
* The reads and writes to user data will be done via `cluster_main` connection.
* The reads and writes to group data will be done via `main` connection (pointing to current Cell).
* As the simplification the Cell 2 will configure `cluster_main` connection to point to main database of Cell 1.
This description, especially last bullet point is slightly different than what is in https://docs.gitlab.com/ee/architecture/blueprints/cells/.
This is done as initial simplification, and subject to be evaluated how
and where cluster-wide tables should be stored.
## Related
* https://gitlab.com/gitlab-org/pods-group/group-tasks/-/issues/33
epic