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