diff --git a/config/load.go b/config/load.go index 8f3839e3d..5578f69e0 100644 --- a/config/load.go +++ b/config/load.go @@ -179,7 +179,7 @@ func load(cmdline, environ, envprefix []string, props *properties.Properties) (c f.StringVar(&cfg.Registry.Consul.TLS.CAPath, "registry.consul.tls.capath", defaultConfig.Registry.Consul.TLS.CAPath, "path to consul CA directory") f.BoolVar(&cfg.Registry.Consul.TLS.InsecureSkipVerify, "registry.consul.tls.insecureskipverify", defaultConfig.Registry.Consul.TLS.InsecureSkipVerify, "is tls check enabled") f.BoolVar(&cfg.Registry.Consul.Register, "registry.consul.register.enabled", defaultConfig.Registry.Consul.Register, "register fabio in consul") - f.StringVar(&cfg.Registry.Consul.ServiceAddr, "registry.consul.register.addr", defaultConfig.Registry.Consul.ServiceAddr, "service registration address") + f.StringVar(&cfg.Registry.Consul.ServiceAddr, "registry.consul.register.addr", "", "service registration address") f.StringVar(&cfg.Registry.Consul.ServiceName, "registry.consul.register.name", defaultConfig.Registry.Consul.ServiceName, "service registration name") f.StringSliceVar(&cfg.Registry.Consul.ServiceTags, "registry.consul.register.tags", defaultConfig.Registry.Consul.ServiceTags, "service registration tags") f.StringSliceVar(&cfg.Registry.Consul.ServiceStatus, "registry.consul.service.status", defaultConfig.Registry.Consul.ServiceStatus, "valid service status values") @@ -272,6 +272,11 @@ func load(cmdline, environ, envprefix []string, props *properties.Properties) (c } } + // Unless registry.consul.register.addr has been set explicitly it should + // be the same as ui.addr. See issue 657. + if !f.IsSet("registry.consul.register.addr") { + cfg.Registry.Consul.ServiceAddr = cfg.UI.Listen.Addr + } if cfg.Registry.Consul.ServiceAddr != "" { if cfg.Registry.Consul.ServiceAddr, err = gs.Parse(cfg.Registry.Consul.ServiceAddr); err != nil { return nil, fmt.Errorf("failed to consul service address: %s", err) diff --git a/config/load_test.go b/config/load_test.go index 057dd9e74..5b4b6989d 100644 --- a/config/load_test.go +++ b/config/load_test.go @@ -874,6 +874,7 @@ func TestLoad(t *testing.T) { cfg: func(cfg *Config) *Config { cfg.UI.Listen.Addr = "1.2.3.4:5555" cfg.UI.Listen.Proto = "http" + cfg.Registry.Consul.ServiceAddr = "1.2.3.4:5555" return cfg }, }, @@ -886,6 +887,7 @@ func TestLoad(t *testing.T) { cfg.UI.Listen.CertSource.Type = "file" cfg.UI.Listen.CertSource.CertPath = "value" cfg.Registry.Consul.CheckScheme = "https" + cfg.Registry.Consul.ServiceAddr = ":9998" return cfg }, },