Add gitlab-shell opt-in for Topology Service client

What does this MR do?

Adds a dedicated gitlab-shell chart value, config.topologyService.enabled, that controls whether GitLab Shell uses the Topology Service (Cells routing). Previously this was derived solely from the global Cells settings via gitlab.gitlab-shell.topologyService.enabled in templates/_helpers.tpl.

The two concerns are now separated:

  • config.topologyService.enabled (default false) turns on GitLab Shell's use of the Topology Service. It must be set explicitly and does not inherit the global Cells setting. The service address is read from global.appConfig.cell.topologyServiceClient.address.
  • mTLS is driven by the global Cells setting (global.appConfig.cell.enabled). When GitLab Shell opts in and Cells is enabled globally, the client config includes the tls section and the mTLS cert/key are mounted and copied. When Cells is disabled, the client config omits the tls section and no certs are mounted or copied.

Also updates the gitlab-shell values schema and documentation, and adds rspec coverage for the opt-in, Cells-enabled, Cells-disabled, and missing-address paths.

Author checklist

For general guidance, please follow our Contributing guide.

Required

For anything in this list which will not be completed, please provide a reason in the MR discussion.

  • Merge Request Title and Description are up to date, accurate, and descriptive.
  • MR targeting the appropriate branch.
  • MR has a green pipeline.
  • Documentation created/updated.
  • Tests added/updated, and test plan for scenarios not covered by automated tests.
  • Equivalent MR/issue for omnibus-gitlab opened.

Reviewers checklist

Merge request reports

Loading
Loading