Skip to content

Drop Git dependency in container-registry image

Summary

The Container Registry image depends on the Git version provided by Gitaly right now. This is creating problems as Gitaly is moving towards bundled Git, which means that there will be no Git binary provided by it anymore but only a set of Gitaly-prefixed binaries. Those are bound to change at the whim of Gitaly when rolling out newer Git versions such that there can be multiple Git versions available at the same point in time, which allows for the use of feature flagged Git rollouts. This is required to take away much of the risk we have right now when deploying new Git versions and fixes problems where Gitaly may execute an unexpectedly newer Git version during zero-downtime upgrades.

As part of this the Container Registry image cannot depend on the Gitaly-provided Git binary anymore. And in fact, Git is only a build-time dependency there to clone the repository and derive the revision of the Container Registry image. There are two alternate solutions:

  • Fetch sources via curl and find a workaround for setting up the revision.
  • Provide a build-time Git dependency which is installed via the distribution's package system.