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.
Related issues
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
- As soon as you begin reviewing, select Start a review on your first comment so the MR shows Reviewer started review.
- MR has a green pipeline on https://gitlab.com/gitlab-org/charts/gitlab.
- Consider downstream impact to the Operator, as per evaluating impact from changes to GitLab chart.