Reuse the global Topology Service TLS guard

What does this MR do?

The three Rails Topology Service helpers repeat the same Cells/TLS condition. A shared boolean-safe helper now controls secret projection, volume mounts, and the configure script. The volume-mount helper passes its nested context explicitly.

GitLab Shell's predicate changed after #6541 (closed) was filed: it now has an independent client opt-in and deliberately different mTLS conditions. Those conditions and its shell-specific secret paths are preserved. This addresses the shared Rails predicate requested in the follow-up.

The Shell and Cells suites pass all 70 examples with seed 17. Twelve new matrix checks cover all four global enabled/disabled combinations and verify projection, mounted certificate paths, and copy commands. RuboCop and git diff --check pass.

The render behavior is preserved, so documentation and an Omnibus equivalent are not needed. Local validation uses Helm 4.2.3, Gomplate 5.0.0, and the existing Ruby test compatibility bundle; cluster validation is pending.

AI assistance: prepared with OpenAI Codex and reviewed and tested locally.

Closes #6541 (closed)

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.
  • Have you validated that your change works end-to-end on a real cluster deployment?
    • Describe how you did it in a comment.
  • Equivalent MR/issue for omnibus-gitlab opened.
  • When ready for review, MR is marked as ready (not a draft) and assigned to a reviewer.

Reviewers checklist

Edited by João Alexandre Cunha

Merge request reports

Loading
Loading