1
0
Fork 0
mirror of https://github.com/external-secrets/external-secrets.git synced 2024-12-14 11:57:59 +00:00

fix: return not found error when there is no secret for vault provider (#4183)

* feat: add option to ignore not found secrets on a path

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>

* return not found instead of ignoring it

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>

---------

Signed-off-by: Gergely Brautigam <182850+Skarlso@users.noreply.github.com>
This commit is contained in:
Gergely Brautigam 2024-12-12 13:56:44 +01:00 committed by GitHub
parent 388158a4d4
commit fa8941a526
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 19 additions and 1 deletions

View file

@ -118,7 +118,7 @@ func (c *client) listSecrets(ctx context.Context, path string) ([]string, error)
return nil, fmt.Errorf(errReadSecret, err) return nil, fmt.Errorf(errReadSecret, err)
} }
if secret == nil { if secret == nil {
return nil, fmt.Errorf("provided path %v does not contain any secrets", url) return nil, esv1beta1.NoSecretError{}
} }
t, ok := secret.Data["keys"] t, ok := secret.Data["keys"]
if !ok { if !ok {

View file

@ -283,6 +283,24 @@ func TestGetAllSecrets(t *testing.T) {
}, },
}, },
}, },
"FilterByPathReturnsNotFound": {
reason: "should return a not found error if there are no more secrets on the path",
args: args{
store: makeValidSecretStoreWithVersion(esv1beta1.VaultKVStoreV2).Spec.Provider.Vault,
vLogical: &fake.Logical{
ListWithContextFn: func(ctx context.Context, path string) (*vault.Secret, error) {
return nil, nil
},
ReadWithDataWithContextFn: newReadtWithContextFn(map[string]any{}),
},
data: esv1beta1.ExternalSecretFind{
Path: &path,
},
},
want: want{
err: esv1beta1.NoSecretError{},
},
},
"FilterByPathKv1": { "FilterByPathKv1": {
reason: "should filter secrets based on path for kv1", reason: "should filter secrets based on path for kv1",
args: args{ args: args{