mirror of
https://github.com/Luzifer/yaml-vault.git
synced 2024-12-30 00:31:21 +00:00
fix read tries when path has no current children
This commit is contained in:
parent
0563f3b2d9
commit
fe4d5ddc86
1 changed files with 18 additions and 17 deletions
35
main.go
35
main.go
|
@ -139,34 +139,35 @@ func exportFromVault(client *api.Client) error {
|
|||
}
|
||||
|
||||
func readRecurse(client *api.Client, path string, out *importFile) error {
|
||||
if strings.HasSuffix(path, "/") {
|
||||
secret, err := client.Logical().List(path)
|
||||
if !strings.HasSuffix(path, "/") {
|
||||
secret, err := client.Logical().Read(path)
|
||||
if err != nil {
|
||||
return fmt.Errorf("Error reading %s: %s", path, err)
|
||||
return err
|
||||
}
|
||||
|
||||
if secret != nil && secret.Data["keys"] != nil {
|
||||
for _, k := range secret.Data["keys"].([]interface{}) {
|
||||
if err := readRecurse(client, path+k.(string), out); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
if secret == nil {
|
||||
return fmt.Errorf("Unable to read %s: %#v", path, secret)
|
||||
}
|
||||
|
||||
out.Keys[path] = secret.Data
|
||||
debug("Successfully read data from key '%s'", path)
|
||||
return nil
|
||||
}
|
||||
|
||||
secret, err := client.Logical().Read(path)
|
||||
secret, err := client.Logical().List(path)
|
||||
if err != nil {
|
||||
return err
|
||||
return fmt.Errorf("Error reading %s: %s", path, err)
|
||||
}
|
||||
|
||||
if secret == nil {
|
||||
return fmt.Errorf("Unable to read %s: %#v", path, secret)
|
||||
if secret != nil && secret.Data["keys"] != nil {
|
||||
for _, k := range secret.Data["keys"].([]interface{}) {
|
||||
if err := readRecurse(client, path+k.(string), out); err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
out.Keys[path] = secret.Data
|
||||
debug("Successfully read data from key '%s'", path)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue