Cells: Secrets

Where possible, each Cell should have its own distinct set of secrets. However, there will be some secrets that will be required to be the same for all Cells in the cluster.

1. Definition

GitLab has a lot of secrets that need to be configured. Some secrets are for inter-component communication, for example, GitLab Shell secret, and used only within a Cell. Some secrets are used for features, for example, ci_jwt_signing_key.

2. Data flow

3. Proposal

  1. Secrets used for features will need to be consistent across all Cells, so that the UX is consistent.
    1. This is especially true for the db_key_base secret which is used for encrypting data at rest in the database - so that Projects that are transferred to another Cell will continue to work. We do not want to have to re-encrypt such rows when we move Projects/Groups between Cells.
  2. Secrets which are used for intra-Cell communication only should be uniquely generated per Cell.

4. Evaluation

4.1. Pros

4.2. Cons

Last modified August 23, 2024: Ensure frontmatter is consistent (e47101dc)