-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[Infisical] dataFrom.find.path should filter by secret folder path, not secret name prefix #5900
Description
Problem
When using dataFrom.find.path with the Infisical provider, the path parameter filters secrets by their name prefix rather than their folder path in Infisical.
For example, with secrets structured like this in Infisical:
/GITHUB_USER
/GITHUB_PAT
/gastrovisor/JWT_SECRET
/gastrovisor/SMTP_HOST
Using dataFrom.find.path: /gastrovisor or path: gastrovisor does not filter to only secrets in the /gastrovisor folder. Instead, it seems to filter by name prefix, which doesn't work since the returned secret keys don't include the folder path.
Current Behavior
The find.path parameter acts as a name prefix filter on the secret key. However, when secrets are returned from Infisical, they come back with just the secret name (e.g., JWT_SECRET) rather than the full path (gastrovisor/JWT_SECRET), making the path filter ineffective.
Expected Behavior
The find.path parameter should filter secrets based on their folder location in Infisical, similar to how secretsScope.secretsPath works in the SecretStore configuration. This would allow users to fetch all secrets from a specific folder without needing to enumerate them explicitly.
Workaround
Currently, the only workarounds are:
- Use
secretsScope.secretsPathin the SecretStore to scope to a specific folder (but this requires a separate SecretStore per folder) - Use explicit
dataentries with full paths for each secret - Use
dataFrom.find.name.regexpbut this can only filter by name patterns, not folder location
Use Case
In a multi-tenant or multi-application setup, it's common to organize secrets by application folder:
/global-secrets/...
/app1/...
/app2/...
Being able to use dataFrom.find.path: /app1 to fetch all secrets from that folder would be very useful and align with how other providers handle path-based filtering.
Environment
- External Secrets Operator version: latest
- Infisical provider
- Using ClusterSecretStore with
secretsScope.secretsPath: /andrecursive: true
Metadata
Metadata
Assignees
Labels
Type
Projects
Status