From 9795a7c4a9737626be5c6d50cfb26f512f78f9b0 Mon Sep 17 00:00:00 2001 From: Ludovic Fernandez Date: Tue, 25 Feb 2020 23:00:04 +0100 Subject: [PATCH] fix: consul-catalog use port from label instead of item port. --- pkg/provider/consulcatalog/config.go | 14 +++++++++----- pkg/provider/consulcatalog/config_test.go | 4 ++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/pkg/provider/consulcatalog/config.go b/pkg/provider/consulcatalog/config.go index 1d0407eea..de63ccd4e 100644 --- a/pkg/provider/consulcatalog/config.go +++ b/pkg/provider/consulcatalog/config.go @@ -149,15 +149,19 @@ func (p *Provider) addServerTCP(ctx context.Context, item itemData, loadBalancer return errors.New("load-balancer is not defined") } + var port string + if len(loadBalancer.Servers) > 0 { + port = loadBalancer.Servers[0].Port + } + if len(loadBalancer.Servers) == 0 { loadBalancer.Servers = []dynamic.TCPServer{{}} } - var port string - if item.Port != "" { + if item.Port != "" && port == "" { port = item.Port - loadBalancer.Servers[0].Port = "" } + loadBalancer.Servers[0].Port = "" if port == "" { return errors.New("port is missing") @@ -188,10 +192,10 @@ func (p *Provider) addServer(ctx context.Context, item itemData, loadBalancer *d loadBalancer.Servers = []dynamic.Server{server} } - if item.Port != "" { + if item.Port != "" && port == "" { port = item.Port - loadBalancer.Servers[0].Port = "" } + loadBalancer.Servers[0].Port = "" if port == "" { return errors.New("port is missing") diff --git a/pkg/provider/consulcatalog/config_test.go b/pkg/provider/consulcatalog/config_test.go index d4259aa58..1e85900f5 100644 --- a/pkg/provider/consulcatalog/config_test.go +++ b/pkg/provider/consulcatalog/config_test.go @@ -1371,7 +1371,7 @@ func Test_buildConfiguration(t *testing.T) { LoadBalancer: &dynamic.ServersLoadBalancer{ Servers: []dynamic.Server{ { - URL: "h2c://127.0.0.1:80", + URL: "h2c://127.0.0.1:8080", }, }, PassHostHeader: Bool(true), @@ -1419,7 +1419,7 @@ func Test_buildConfiguration(t *testing.T) { LoadBalancer: &dynamic.ServersLoadBalancer{ Servers: []dynamic.Server{ { - URL: "http://127.0.0.1:80", + URL: "http://127.0.0.1:8080", }, }, PassHostHeader: Bool(true),