aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2021-11-15 23:08:01 -0800
committerMike Crute <mike@crute.us>2021-11-15 23:08:01 -0800
commitc598aae837e6c989636881a04149be074a22a099 (patch)
tree647b42fee449a29772d8d6ad7ccc92e9fff6f9fd
parentd0f9096e8e8a0a664ed0edd7d1f302eb435c7d11 (diff)
downloadgolib-c598aae837e6c989636881a04149be074a22a099.tar.bz2
golib-c598aae837e6c989636881a04149be074a22a099.tar.xz
golib-c598aae837e6c989636881a04149be074a22a099.zip
vault: allow getting arbitrary objectsvault/v0.1.2
-rw-r--r--vault/simple_client.go13
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
45func 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
45func GetVaultKey(path string) (Credential, error) { 58func 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 {