Skip to content

Add new `system_gitconfig` key to replace `omnibus_gitconfig`

Patrick Steinhardt requested to merge pks-split-global-and-gitaly-gitconfig into master

What does this MR do?

In v15.2.0 we have split out the gitaly['gitconfig'] key so that an administrator can set the system-level Git configuration independently of the Git configuration used by Gitaly. This was done to fix issues with the deprecated core.fsyncObjectFiles configuration that needed to exist on the system-level, but not on the Gitaly-level. Ultimately, the configuration shared between both levels is almost always completely distinct from each other.

As a consequence we need two separate keys to control either of both levels. While this could theoretically be the the already-existing omnibus_gitconfig['system'] and gitaly['gitconfig'], this makes the migration harder than necessary: the administrator would have to make sure to always create the gitaly['gitconfig'] key or otherwise we might believe that there was nomigration yet.

Instead, add a new option system_gitconfig that only controls the Git csnfiguration written at the system-level. Like this an administrator would only have to rename the key to complete the migration in the general case. And in a very limited set of cases they might also have to set some specific keys for gitaly['gitconfig'].

Related issues

Related to #6800 (closed).

Related to gitaly#4230 (closed).

Part of &8069 (closed).

Related to #6889.

Checklist

See Definition of done.

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

Required

  • Merge Request Title, and Description are up to date, accurate, and descriptive
  • MR targeting the appropriate branch
  • MR has a green pipeline on GitLab.com
  • Pipeline is green on dev.gitlab.org if the change is touching anything besides documentation or internal cookbooks
  • trigger-package has a green pipeline running against latest commit

Expected (please provide an explanation if not completing)

  • Test plan indicating conditions for success has been posted and passes
  • Documentation created/updated
  • Tests added
  • Integration tests added to GitLab QA
  • Equivalent MR/issue for the GitLab Chart opened
Edited by Patrick Steinhardt

Merge request reports