Add namespace

This commit is contained in:
Ben Toogood 2020-04-07 12:46:44 +01:00
parent 9d598836c3
commit 3df87510a1
3 changed files with 19 additions and 1 deletions

View File

@ -89,7 +89,7 @@ type Token struct {
const (
// DefaultNamespace used for auth
DefaultNamespace = "micro"
DefaultNamespace = "go.micro"
// NamespaceKey is the key used when storing the namespace in metadata
NamespaceKey = "Micro-Namespace"
// MetadataKey is the key used when storing the account in metadata

View File

@ -8,6 +8,8 @@ import (
)
type Options struct {
// Namespace the service belongs to
Namespace string
// ID is the services auth ID
ID string
// Secret is used to authenticate the service
@ -28,6 +30,13 @@ type Options struct {
type Option func(o *Options)
// Namespace the service belongs to
func Namespace(n string) Option {
return func(o *Options) {
o.Namespace = n
}
}
// Store to back auth
func Store(s store.Store) Option {
return func(o *Options) {

View File

@ -314,6 +314,12 @@ var (
EnvVars: []string{"MICRO_CONFIG"},
Usage: "The source of the config to be used to get configuration",
},
&cli.StringFlag{
Name: "namespace",
EnvVars: []string{"MICRO_NAMESPACE"},
Usage: "The namespace the service belongs to",
Value: auth.DefaultNamespace,
},
}
DefaultBrokers = map[string]func(...broker.Option) broker.Broker{
@ -678,6 +684,9 @@ func (c *cmd) Before(ctx *cli.Context) error {
ctx.String("auth_id"), ctx.String("auth_secret"),
))
}
if len(ctx.String("namespace")) > 0 {
authOpts = append(authOpts, auth.Namespace(ctx.String("namespace")))
}
if len(ctx.String("auth_public_key")) > 0 {
authOpts = append(authOpts, auth.PublicKey(ctx.String("auth_public_key")))