Skip to content

Commit

Permalink
Merge pull request #2016 from sofixa/add_vault_kv_subkeys
Browse files Browse the repository at this point in the history
support Vault KV subkeys to avoid consul-template adding /data/ to the path
  • Loading branch information
sreeram77 authored Feb 3, 2025
2 parents 134b935 + a513d0c commit 716e206
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
4 changes: 2 additions & 2 deletions dependency/vault_read.go
Original file line number Diff line number Diff line change
Expand Up @@ -212,9 +212,9 @@ func shimKVv2Path(rawPath, mountPath, clientNamespace string) string {
// Trim (mount path - client namespace) from the raw path
p := strings.TrimPrefix(rawPath, rawPathNsAndMountPath)

// Only add /data/ prefix to the path if neither /data/ or /metadata/ are
// Only add /data/ prefix to the path if neither /data/, or /metadata/ or /subkeys/ are
// present.
if strings.HasPrefix(p, "data/") || strings.HasPrefix(p, "metadata/") {
if strings.HasPrefix(p, "data/") || strings.HasPrefix(p, "metadata/") || strings.HasPrefix(p, "subkeys/") {
return rawPath
}

Expand Down
17 changes: 16 additions & 1 deletion dependency/vault_read_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,22 @@ func TestShimKVv2Path(t *testing.T) {
"secret/",
"secret/data/foometadata/foo/bar",
"",
}, {
},
{
"prefix not added to subkeys",
"secret/subkeys/foo",
"secret/",
"secret/subkeys/foo",
"",
},
{
"prefix added with subkeys* in subpath",
"secret/subkeysfoo/foo/bar",
"secret/",
"secret/data/subkeysfoo/foo/bar",
"",
},
{
"prefix added to mount path",
"secret/",
"secret/",
Expand Down

0 comments on commit 716e206

Please sign in to comment.