Add the ability to pass consul client config via registry options.

This can be used when you need to configure the consul client to use a specific configuration (E.G to pass a Token if consul is using ACL policies)
This commit is contained in:
chriss
2016-11-17 21:03:54 +00:00
parent 74d8ea6817
commit 3d7187f405
2 changed files with 24 additions and 1 deletions

View File

@@ -53,6 +53,13 @@ func newConsulRegistry(opts ...Option) Registry {
// use default config
config := consul.DefaultConfig()
if options.Context != nil {
// Use the consul config passed in the options, if available
c := options.Context.Value("consul_config")
if c != nil {
config = c.(*consul.Config)
}
}
// set timeout
if options.Timeout > 0 {
@@ -253,7 +260,7 @@ func (c *consulRegistry) ListServices() ([]*Service, error) {
var services []*Service
for service, _ := range rsp {
for service := range rsp {
services = append(services, &Service{Name: service})
}