From 2ce3b86e0ff69538935db3149d1ed2f24aea09a3 Mon Sep 17 00:00:00 2001 From: Ben Burwell Date: Mon, 13 Apr 2020 23:57:13 -0400 Subject: Simplify --- server/helpers/vault/vault.go | 62 ------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 server/helpers/vault/vault.go (limited to 'server/helpers/vault/vault.go') diff --git a/server/helpers/vault/vault.go b/server/helpers/vault/vault.go deleted file mode 100644 index e522d51..0000000 --- a/server/helpers/vault/vault.go +++ /dev/null @@ -1,62 +0,0 @@ -package vault - -import ( - "fmt" - "strings" - - "github.com/hashicorp/vault/api" -) - -// NewClient returns a new vault client. -func NewClient(address, token string) (*Client, error) { - config := &api.Config{ - Address: address, - } - client, err := api.NewClient(config) - if err != nil { - return nil, err - } - client.SetToken(token) - return &Client{ - vault: client, - }, nil -} - -func parseName(name string) (path, key string) { - name = strings.TrimPrefix(name, "/vault/") - i := strings.LastIndex(name, "/") - if i < 0 { - return name, "" - } - return name[:i], name[i+1:] -} - -// Client is a simple client for vault. -type Client struct { - vault *api.Client -} - -// Read returns a secret for a given path and key of the form `/vault/secret/path/key`. -// If the requested key cannot be read the original string is returned along with an error. -func (c *Client) Read(value string) (string, error) { - p, k := parseName(value) - data, err := c.vault.Logical().Read(p) - if err != nil { - return value, err - } - if data == nil { - return value, fmt.Errorf("no such key %s", k) - } - secret, ok := data.Data[k] - if !ok { - return value, fmt.Errorf("no such key %s", k) - } - return secret.(string), nil -} - -// Delete deletes the secret from vault. -func (c *Client) Delete(value string) error { - p, _ := parseName(value) - _, err := c.vault.Logical().Delete(p) - return err -} -- cgit v1.2.3