Skip to content

Add DNS discovery support for Gitaly/Praefect

In gitlab-org&8971 (closed), we added DNS discovery support to Praefect. This was done by making two changes:

  • Configure client-side round-robin load-balancing in client dial options. We added that as a default option inside gitaly client in gitaly client since v15.9.0
  • Configure DNS resolving. Due to some technical limitations, we don't use gRPC's built-in DNS resolver. Instead, we implement our own DNS resolver. This resolver is exposed via the following configuration. Afterward, workhorse can detect and handle DNS discovery automatically. The user needs to setup and set Gitaly address to something like "dns:gitaly.service.dc1.consul"

This change aligns with similar changes in GitLab Rails, Gitlab Shell, and Workhorse.

Merge request reports