Gitaly Group Roadmap

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

The following page may contain information related to upcoming products, features and functionality. It is important to note that the information presented is for informational purposes only, so please do not rely on the information for purchasing or planning purposes. Just like with all projects, the items mentioned on the page are subject to change or delay, and the development, release, and timing of any products, features or functionality remain at the sole discretion of GitLab Inc.

FY25Q1 (next quarter) - 80%

Bundle URI MVC

We are close to being able to roll out a very minimal bundle URI implementation and hope to make this GA during FY25Q1. This will allow the server to skip the expensive step of packing up all objects into a packfile to send to the client, and is designed to reduce server load significantly for cases where large repositories are cloned often.

This has some direct benefits for customers with monorepos, as this should allow for less server load during normal operation.

Server side backups support incremental backups

While Server Side backups provide numerous performance improvements for our customers (see the blueprint), we wish to release incremental backups as a quality of life improvement for our customers. Overall, the server side backup mechanism will eliminate complicated backups scripts and provide a much more intuitive option moving forward.

Write ahead logging default enable

Write ahead logging is a critical business goal, and the basis for improved RPO for GitLab.com's disaster recovery planning (See the internal Disaster Recovery page for additional information). This is also the building block for implementing a Raft-based decentralized architecture for HA Gitaly.

FY25Q2 (2 quarters out) - 65%

Bundle URI quality of Life Improvements

While core functionality for Bundle URI is currently planned to complete in FY25Q1, there are numerous quality of life improvements that we have, and will continue to identify, to make this feature even more impactful for our customers. Some examples include:

Cloud native Gitaly gap analysis

We are well aware that our customers wish to have a fully cloud native GitLab architecture. There are presently known issues with Gitaly running fully cloud native, and we know that there are a non-trivial number of unknown blockers. With this in mind, we aim to collaborate with groupdistribution throughout this quarter to clearly identify and classify issues with Gitaly running within Kubernetes.

FY25Q3 (3 quarters out) - 50%

Roll out Raft in place of Gitaly Cluster

With the completion of the write-ahead logging effort from FY25Q1, we aim to have a functional HA solution utilizing Raft. While we may not be in a position to transition customers completely off of Gitaly Cluster, we aim to have the groundwork laid and a functional MVC built. This relies heavily on how well the write-ahead logging rollout goes, as any issues found there will translate into delays here.

FY25Q4 (4 quarters out) - 35%

Upstream reftable backend to Git

RefTables are a new storage structure within Git that stores refs in a portable binary format instead of loose files or packed-refs files. This will improve Git in two main ways:

  1. Performance - updating refs in a reftable will be more performant than updating loose refs or packed-refs files
  2. Remove race conditions - the current Git implementation causes race-conditions around deletion or modifications to refs that must be avoided.

The ~"group::gitaly::git" team is actively working with the upstream Git mailing list to contribute this feature. It will be an ongoing effort, but one which will help out GitLab as well as the broader Git community and we feel honoured to be able to work on this improvement.

Gitaly / Distribution support cloud-native execution

With the learnings from FY25Q2, we aim to have a fully cloud-native option for Gitaly available. This may not support advanced Gitaly features such as HA, but with collaboration from groupdistribution, we believe we can achieve some level of success for Gitaly running with Kubernetes.

Edited by 🤖 GitLab Bot 🤖