Cells

  • Offering: GitLab.com
  • Status: Experiment

This feature is available for administrators of GitLab.com only. This feature is not available for GitLab Self-Managed or GitLab Dedicated instances.

This page contains information related to upcoming products, features, and functionality. It is important to note that the information presented is for informational purposes only. Please do not rely on this information for purchasing or planning purposes. The development, release, and timing of any products, features, or functionality may be subject to change or delay and remain at the sole discretion of GitLab Inc.

Cells 1.0 is in development. For more information about the state of cell development, see epic 12383.

This page explains how to configure the GitLab Rails console for cell functionality. For more information on the proposed design and terminology, see the design document for Cells.

Configuration

The cells related configuration in config/gitlab.yml is in this format:

  cell:
    enabled: true
    id: 1
    database:
      skip_sequence_alteration: false
    topology_service_client:
      address: topology-service.gitlab.example.com:443
      ca_file: /home/git/gitlab/config/topology-service-ca.pem
      certificate_file: /home/git/gitlab/config/topology-service-cert.pem
      private_key_file: /home/git/gitlab/config/topology-service-key.pem
ConfigurationDefault valueDescription
cell.enabledfalseTo configure whether the instance is a Cell or not. false means all Cell features are disabled. session_cookie_prefix_token is not affected, and can be set separately.
cell.idnilRequired to be a positive integer when cell.enabled is true. Otherwise, it must be nil. This is the unique integer identifier for the cell in a cluster. This ID is used inside the routable tokens. When cell.id is nil, the other attributes inside the routable tokens, like organization_id will still be used
cell.database.skip_sequence_alterationfalseWhen true, skips database sequence alteration for the cell. Enable for the legacy cell (cell-1) before the monolith cell is available for use, being tracked in this epic: Phase 6: Monolith Cell.
cell.topology_service_client.address"topology-service.gitlab.example.com:443"Required when cell.enabled is true. Address and port of the topology service server.
cell.topology_service_client.ca_file"/home/git/gitlab/config/topology-service-ca.pem"Required when cell.enabled is true. Path to the CA certificate file for secure communication.
cell.topology_service_client.certificate_file"/home/git/gitlab/config/topology-service-cert.pem"Required when cell.enabled is true. Path to the client certificate file.
cell.topology_service_client.private_key_file"/home/git/gitlab/config/topology-service-key.pem"Required when cell.enabled is true. Path to the private key file.

For information on how to configure other components of the cells architecture, see:

  1. Topology service configuration
  2. HTTP router configuration