Preserve registry notification secrets as YAML strings
What does this MR do?
Registry notification secrets were inserted into gitlab.yml without YAML-safe encoding. A secret such as "12345678901234567890123456789012" became an integer, while "yes" became a boolean. Secrets containing a newline could make the file invalid YAML.
Encode the value with to_s.to_json at the ERB interpolation. The regression cases render the full webservice, sidekiq, and toolbox gitlab.yml ConfigMaps and verify the value after YAML parsing.
AI assistance: prepared with OpenAI Codex and tested locally.
Validation: eight of nine regression cases failed before the fix; all nine pass after it. The registry and global configuration suites pass all 102 examples with shuffled order. Ruby lint passes. Local checks used Ruby 3.2.3, Psych 5.5.0, Helm 4.2.3, and Gomplate 5.0.0; dependency adjustments for the local Ruby version are kept outside this patch.
Cluster validation remains pending because the local Docker daemon is unavailable. The checks above cover Helm rendering, runtime ERB evaluation, and YAML parsing, not a live registry push. No documentation change is needed because the supported secret format is unchanged. The Omnibus template has a similar unencoded field; it is being investigated separately rather than expanding this patch.
Related issues
Closes #6689 (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.