gitaly: Drop redundant gitconfig
What does this MR do?
Gitaly is moving towards a world where it is the single source of truth for all Git configuration. This is done so it can ensure that it is running in an environment that actually matches its expectations. Shifting this responsibility to downstream distributions can cause all sorts of issues: detrimental performance, missing integrity checks and even security issues.
As part of this process, Gitaly has started to override various Git
config entries with its own values, effectively invalidating any such
config which exists in config files. An admin which would still want to
override any config has to resort to modifying Gitaly's configuration,
which started to support a new [[git.config]]
section.
Adapt our own gitconfig and drop all config entries which Gitaly sets anyway:
- core.alternateRefsCommand, core.autoCrlf, core.fsyncObjectFiles,
gc.auto and receive.advertisePushOptions all get injected by
Gitaly.
- pack.useSparse is `true` by default anyway, so there's not much
point in configuring it.
This leaves a few options which Gitaly doesn't yet configure. These are likely candidates to be adopted by Gitaly.
Related issues
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
Expected (please provide an explanation if not completing)
-
Test plan indicating conditions for success has been posted and passes -
Documentation created/updated -
Integration tests added to GitLab QA -
The impact any change in container size has should be evaluated