Multiple Gitaly instances omnibus documentation

Hello guys,

Could you please provide documentation or point to the right direction where we can find information on configuring multiple internal/external Gitaly nodes/instances for omnibus installation?

We understand that Gitaly HA is not available yet but it's work in progress. At the same time there is a possibility to have multiple Gitaly nodes serving git repositories. We'd like to understand how to configure Gitaly nodes/shards, how to migrate/split data between nodes and how to configure Gitaly clients/services (gitlab-rails, shell, workhorse etc).

From https://docs.gitlab.com/ee/administration/gitaly/ we understand that git_data_dirs configuration can be used to handle some of the above questions:

# /etc/gitlab/gitlab.rb
git_data_dirs({
  'default' => { 'path' => '/mnt/gitlab/default', 'gitaly_address' => 'tcp://gitaly.internal:8075' },
  'storage1' => { 'path' => '/mnt/gitlab/storage1', 'gitaly_address' => 'tcp://gitaly.internal:8075' },
})

but not 100% sure about that.

The ultimate goal here is to eliminate SPOF and scale (sharding) horizontally, although we understand that it is not a scaling as people would like to see it but it is already not an SPOF.

Thank you in advance and we like Gitlab very much, keep improving it!

  • Andrey.