summaryrefslogtreecommitdiff
path: root/internal/gitaly/gitaly.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/gitaly/gitaly.go')
-rw-r--r--internal/gitaly/gitaly.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/internal/gitaly/gitaly.go b/internal/gitaly/gitaly.go
index f83c8b5..7f549cc 100644
--- a/internal/gitaly/gitaly.go
+++ b/internal/gitaly/gitaly.go
@@ -116,6 +116,16 @@ func (c *Client) newConnection(ctx context.Context, cmd Command) (conn *grpc.Cli
),
),
),
+
+ // In https://gitlab.com/groups/gitlab-org/-/epics/8971, 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"
+ gitalyclient.WithGitalyDNSResolver(gitalyclient.DefaultDNSResolverBuilderConfig()),
)
if cmd.Token != "" {