diff --git a/config/cmd/cmd.go b/config/cmd/cmd.go index fd8d2352..87000a11 100644 --- a/config/cmd/cmd.go +++ b/config/cmd/cmd.go @@ -278,7 +278,7 @@ var ( Name: "service_namespace", EnvVars: []string{"MICRO_NAMESPACE"}, Usage: "Namespace the service is operating in", - Value: "go.micro", + Value: "micro", }, &cli.StringFlag{ Name: "auth_public_key", @@ -630,8 +630,9 @@ func (c *cmd) Before(ctx *cli.Context) error { if len(ctx.String("auth_private_key")) > 0 { authOpts = append(authOpts, auth.PrivateKey(ctx.String("auth_private_key"))) } - if len(ctx.String("service_namespace")) > 0 { - authOpts = append(authOpts, auth.Issuer(ctx.String("service_namespace"))) + if ns := ctx.String("service_namespace"); len(ns) > 0 { + serverOpts = append(serverOpts, server.Namespace(ns)) + authOpts = append(authOpts, auth.Issuer(ns)) } if name := ctx.String("auth_provider"); len(name) > 0 { p, ok := DefaultAuthProviders[name] diff --git a/server/grpc/grpc.go b/server/grpc/grpc.go index 1123fba8..4dbc68e6 100644 --- a/server/grpc/grpc.go +++ b/server/grpc/grpc.go @@ -576,8 +576,12 @@ func (g *grpcServer) Register() error { var regErr error for i := 0; i < 3; i++ { - // set the ttl - rOpts := []registry.RegisterOption{registry.RegisterTTL(config.RegisterTTL)} + // set the ttl and namespace + rOpts := []registry.RegisterOption{ + registry.RegisterTTL(config.RegisterTTL), + registry.RegisterDomain(g.opts.Namespace), + } + // attempt to register if err := config.Registry.Register(service, rOpts...); err != nil { // set the error diff --git a/server/options.go b/server/options.go index 63b895bb..ebe02bf2 100644 --- a/server/options.go +++ b/server/options.go @@ -26,6 +26,7 @@ type Options struct { Address string Advertise string Id string + Namespace string Version string HdlrWrappers []HandlerWrapper SubWrappers []SubscriberWrapper @@ -106,6 +107,13 @@ func Name(n string) Option { } } +// Namespace to register handlers in +func Namespace(n string) Option { + return func(o *Options) { + o.Namespace = n + } +} + // Unique server id func Id(id string) Option { return func(o *Options) { diff --git a/server/rpc_server.go b/server/rpc_server.go index 212d539a..ee491ea6 100644 --- a/server/rpc_server.go +++ b/server/rpc_server.go @@ -522,7 +522,10 @@ func (s *rpcServer) Register() error { regFunc := func(service *registry.Service) error { // create registry options - rOpts := []registry.RegisterOption{registry.RegisterTTL(config.RegisterTTL)} + rOpts := []registry.RegisterOption{ + registry.RegisterTTL(config.RegisterTTL), + registry.RegisterDomain(s.opts.Namespace), + } var regErr error