diff --git a/config/cmd/options.go b/config/cmd/options.go index 2e4956ff7c..d105ee2e05 100644 --- a/config/cmd/options.go +++ b/config/cmd/options.go @@ -28,6 +28,7 @@ type Options struct { Registry *registry.Registry Selector *selector.Selector Transport *transport.Transport + Config *config.Config Client *client.Client Server *server.Server Runtime *runtime.Runtime @@ -35,9 +36,9 @@ type Options struct { Tracer *trace.Tracer Auth *auth.Auth Profile *profile.Profile - Config *config.Config Brokers map[string]func(...broker.Option) broker.Broker + Configs map[string]func(...config.Option) (config.Config, error) Clients map[string]func(...client.Option) client.Client Registries map[string]func(...registry.Option) registry.Registry Selectors map[string]func(...selector.Option) selector.Selector @@ -48,7 +49,6 @@ type Options struct { Tracers map[string]func(...trace.Option) trace.Tracer Auths map[string]func(...auth.Option) auth.Auth Profiles map[string]func(...profile.Option) profile.Profile - Configs map[string]func(...config.Option) (config.Config, error) // Other options for implementations of the interface // can be stored in a context @@ -82,6 +82,12 @@ func Broker(b *broker.Broker) Option { } } +func Config(c *config.Config) Option { + return func(o *Options) { + o.Config = c + } +} + func Selector(s *selector.Selector) Option { return func(o *Options) { o.Selector = s diff --git a/options.go b/options.go index c90c17f317..36e290a3f5 100644 --- a/options.go +++ b/options.go @@ -23,12 +23,12 @@ type Options struct { Auth auth.Auth Broker broker.Broker Cmd cmd.Cmd + Config config.Config Client client.Client Server server.Server Registry registry.Registry Transport transport.Transport Profile profile.Profile - Config config.Config // Before and After funcs BeforeStart []func() error diff --git a/service.go b/service.go index 9f5b6344e8..a47a38de8e 100644 --- a/service.go +++ b/service.go @@ -99,6 +99,7 @@ func (s *service) Init(opts ...Option) { cmd.Registry(&s.opts.Registry), cmd.Transport(&s.opts.Transport), cmd.Client(&s.opts.Client), + cmd.Config(&s.opts.Config), cmd.Server(&s.opts.Server), cmd.Profile(&s.opts.Profile), ); err != nil {