From 71dea38d90cdb61c1767c36bdebd694f0996c465 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Sat, 19 Dec 2020 23:34:51 +0300 Subject: [PATCH] update for micro changes Signed-off-by: Vasiliy Tolstov --- go.mod | 2 +- go.sum | 2 ++ vault.go | 45 ++++++++++++++------------------------------- 3 files changed, 17 insertions(+), 32 deletions(-) diff --git a/go.mod b/go.mod index 0c23e0a..126d051 100644 --- a/go.mod +++ b/go.mod @@ -6,5 +6,5 @@ require ( github.com/hashicorp/go-multierror v1.1.0 // indirect github.com/hashicorp/go-rootcerts v1.0.2 // indirect github.com/hashicorp/vault/api v1.0.4 - github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4 + github.com/unistack-org/micro/v3 v3.0.2-0.20201219202205-150e8ad698bb ) diff --git a/go.sum b/go.sum index bf83a50..1c4d93b 100644 --- a/go.sum +++ b/go.sum @@ -297,6 +297,8 @@ github.com/transip/gotransip v0.0.0-20190812104329-6d8d9179b66f/go.mod h1:i0f4R4 github.com/uber-go/atomic v1.3.2/go.mod h1:/Ct5t2lcmbJ4OSe/waGBoaVvVqtO0bmtfVNex1PFV8g= github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4 h1:SmwEx/EYb7iUOdDZHiamtwRFfnhiZjtzmVdLZq+KQM0= github.com/unistack-org/micro/v3 v3.0.2-0.20201213102644-92aec349c3d4/go.mod h1:0DgOy4OdJxQCDER8YSKitZugd2+1bddrRSNfeooTHDc= +github.com/unistack-org/micro/v3 v3.0.2-0.20201219202205-150e8ad698bb h1:cJGF8j30idReDyjRCvEJN5waWCh/AKuiKEqLA8OLMlY= +github.com/unistack-org/micro/v3 v3.0.2-0.20201219202205-150e8ad698bb/go.mod h1:0DgOy4OdJxQCDER8YSKitZugd2+1bddrRSNfeooTHDc= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/vultr/govultr v0.1.4/go.mod h1:9H008Uxr/C4vFNGLqKx232C206GL0PBHzOP0809bGNA= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= diff --git a/vault.go b/vault.go index aaa5411..f64cc67 100644 --- a/vault.go +++ b/vault.go @@ -91,48 +91,31 @@ func (c *vaultConfig) Init(opts ...config.Option) error { func (c *vaultConfig) Load(ctx context.Context) error { for _, fn := range c.opts.BeforeLoad { - if err := fn(ctx, c); err != nil { + if err := fn(ctx, c); err != nil && !c.opts.AllowFail { return err } } - //_, version, err := getKVinfo(c.cli, c.path) - //if err != nil { - // return err - //} pair, err := c.cli.Logical().Read(c.path) - if err != nil { + if err != nil && !c.opts.AllowFail { return err - } else if pair == nil { - return ErrPathNotExist - } else if pair.Data == nil { + } else if (pair == nil || pair.Data == nil) && !c.opts.AllowFail { return ErrPathNotExist } - //fmt.Printf("%#+v\n", pair) - //reload secrets from vault's data - //data := pair.Data - var data []byte - data, err = json.Marshal(pair.Data["data"]) - /* - switch version { - case 1: - dataBytes, err = json.Marshal(data) - case 2: - dataBytes, err = json.Marshal(data["data"]) + if err == nil && pair != nil && pair.Data != nil { + var data []byte + data, err = json.Marshal(pair.Data["data"]) + if err == nil { + err = c.opts.Codec.Unmarshal(data, c.opts.Struct) + } + if err != nil && !c.opts.AllowFail { + return err } - */ - - if err != nil { - return err - } - - if err = c.opts.Codec.Unmarshal(data, c.opts.Struct); err != nil { - return err } for _, fn := range c.opts.AfterLoad { - if err := fn(ctx, c); err != nil { + if err := fn(ctx, c); err != nil && !c.opts.AllowFail { return err } } @@ -142,13 +125,13 @@ func (c *vaultConfig) Load(ctx context.Context) error { func (c *vaultConfig) Save(ctx context.Context) error { for _, fn := range c.opts.BeforeSave { - if err := fn(ctx, c); err != nil { + if err := fn(ctx, c); err != nil && !c.opts.AllowFail { return err } } for _, fn := range c.opts.AfterSave { - if err := fn(ctx, c); err != nil { + if err := fn(ctx, c); err != nil && !c.opts.AllowFail { return err } }