diff options
author | Mike Crute <mike@crute.us> | 2021-11-15 23:08:01 -0800 |
---|---|---|
committer | Mike Crute <mike@crute.us> | 2021-11-15 23:08:01 -0800 |
commit | c598aae837e6c989636881a04149be074a22a099 (patch) | |
tree | 647b42fee449a29772d8d6ad7ccc92e9fff6f9fd | |
parent | d0f9096e8e8a0a664ed0edd7d1f302eb435c7d11 (diff) | |
download | golib-c598aae837e6c989636881a04149be074a22a099.tar.bz2 golib-c598aae837e6c989636881a04149be074a22a099.tar.xz golib-c598aae837e6c989636881a04149be074a22a099.zip |
vault: allow getting arbitrary objectsvault/v0.1.2
-rw-r--r-- | vault/simple_client.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/vault/simple_client.go b/vault/simple_client.go index 560ebfe..4ceb4b5 100644 --- a/vault/simple_client.go +++ b/vault/simple_client.go | |||
@@ -42,6 +42,19 @@ func loginAndRead(path string) (*api.Secret, error) { | |||
42 | return s, nil | 42 | return s, nil |
43 | } | 43 | } |
44 | 44 | ||
45 | func GetVaultKeyStruct(path string, out interface{}) error { | ||
46 | s, err := loginAndRead(fmt.Sprintf("kv/data/%s", path)) | ||
47 | if err != nil { | ||
48 | return err | ||
49 | } | ||
50 | |||
51 | if err = mapstructure.Decode(s.Data["data"], out); err != nil { | ||
52 | return err | ||
53 | } | ||
54 | |||
55 | return nil | ||
56 | } | ||
57 | |||
45 | func GetVaultKey(path string) (Credential, error) { | 58 | func GetVaultKey(path string) (Credential, error) { |
46 | s, err := loginAndRead(fmt.Sprintf("kv/data/%s", path)) | 59 | s, err := loginAndRead(fmt.Sprintf("kv/data/%s", path)) |
47 | if err != nil { | 60 | if err != nil { |