Skip to content

gitaly: Drop redundant gitconfig

Patrick Steinhardt requested to merge pks-gitaly-trim-gitconfig into master

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

Merge request reports