Skip to content

Document all ways that Gitaly is packaged and deployed

Context

While we have documentation on how Gitaly MRs are incorporated into Rails, this documentation does not cover all of the ways that Gitaly can get packaged and deployed.

For example, the CNG repo contains several Dockerfiles for building Gitaly container images for use in Kubernetes, and Omnibus contains many files responsible for distributing Gitaly for native installations. Gitlab.com and Dedicated probably contribute yet more ways that Gitaly is packaged.

It's important to understand how this process works because our software must run in many different environments. We might need to make a change in Gitaly that requires testing in Kubernetes for example, or we might be debugging a customer issue that only manifests on Debian.

Proposal

Investigate all ways in which Gitaly is packaged and deployed, and add them to a new document under the doc/ directory. For each method, cover:

  • What triggers the release
  • Where the code is sourced from (security mirror or public Gitaly repo)
  • What pipelines are executed
  • What artefacts are built
  • How versioning is handled
  • Who can we reach out to for help if the release is troubled
Edited by James Liu
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information