-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Keeper provider is failing with more than 1 secret found #4600
Description
Describe the bug
I am trying to use the Keeper provider with an ExternalSecret and it fails with:
error processing spec.data[0] (key: g0lGOXdpGiudUUZaOpi0mA), err: more than 1 secret g0lGOXdpGiudUUZaOpi0mA found
To Reproduce
Steps to reproduce the behavior:
-
Create 2 shared folders in Keeper
-
Create a record in Keeper
-
Create a shortcut to that record in folder A
-
Create another shortcut to that record in folder B
-
Create a
SecretStorefor folder A:apiVersion: external-secrets.io/v1beta1 kind: SecretStore metadata: name: keeper-store namespace: {{ .Release.Namespace }} spec: provider: keepersecurity: authRef: name: keeper-configuration key: auth folderID: {{ .Values.keeperIds.folderAId | quote }}
-
Create an
ExternalSecretthat refers to that record in folder A:apiVersion: external-secrets.io/v1beta1 kind: ExternalSecret metadata: name: argocd-notifications-secret namespace: {{ .Release.Namespace }} spec: refreshInterval: "0" secretStoreRef: kind: SecretStore name: keeper-store data: - secretKey: privateKey remoteRef: key: {{ .Values.keeperIds.recordId | quote }} property: private-key.pem target: template: engineVersion: v2 data: privateKey: '{{ printf "{{ .privateKey }}" }}'
It will fail with the above error.
Removing the shortcut from folder B fixes the problem.
Expected behavior
It should get the record value.
Screenshots
Additional context
I know that the manifests are correct. I can get another ExternalSecret from the same SecretStore and simply
removing the additional shortcut from the unrelated folder in Keeper fixes it.
The id is unique by definition.
Using the Keeper Commander CLI works with no such issues.
