Draft: gitaly: Stop manually templating Gitaly configuration
What does this MR do?
We'd like to stop manually templating each key/value pair destined to be rendered into the Gitaly config.toml
file. This MR does this in a few steps:
- Introduces a new
config
key to the Gitalyvalues.yaml
that will be directly translated into the content of Gitaly'sconfig.toml
file. Users will specify Gitaly config directly as YAML, which will get translated into TOML during rendering. - Migrates subsets of configuration keys into the new
config
key, while preserving manual templating, placeholder values, and default values. Tests are updated to work with the new locations of the keys. camelCased keys are replaced with train_cased equivalents. Configuration semantics are updated to match Omnibus and directconfig.toml
configuration. - Replaces manual templating with a YAML to TOML translation.
- Removes redundant documentation, pointing users to https://docs.gitlab.com/ee/administration/gitaly/configure_gitaly.html as the source of truth.
Related issues
https://gitlab.com/gitlab-org/gitaly/-/issues/6384
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
-
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.