diff --git a/backend/src/services/smtp/emails/DynamicSecretLeaseRevocationFailedTemplate.tsx b/backend/src/services/smtp/emails/DynamicSecretLeaseRevocationFailedTemplate.tsx
index 3cb982f64..94e2e8f6a 100644
--- a/backend/src/services/smtp/emails/DynamicSecretLeaseRevocationFailedTemplate.tsx
+++ b/backend/src/services/smtp/emails/DynamicSecretLeaseRevocationFailedTemplate.tsx
@@ -37,7 +37,7 @@ export const DynamicSecretLeaseRevocationFailedTemplate = ({
multiple attempts.
- Please review the dynamic secret lease and attempt to revoke it again.
+ Please review the dynamic secret leases and attempt to revoke them again.
diff --git a/docs/integrations/platforms/infisical-agent.mdx b/docs/integrations/platforms/infisical-agent.mdx
index 9f485edcc..883d248ae 100644
--- a/docs/integrations/platforms/infisical-agent.mdx
+++ b/docs/integrations/platforms/infisical-agent.mdx
@@ -10,7 +10,7 @@ It eliminates the need to modify application logic by enabling clients to decide
## Key Features
-- **Token lifecycle maangement**: Automatically authenticates with Infisical and deposits renewed access tokens at specified path for applications to consume
+- **Token lifecycle management**: Automatically authenticates with Infisical and deposits renewed access tokens at specified path for applications to consume
- **Templating**: Renders secrets and dynamic secret leases via user provided templates to desired formats for applications to consume
## Token Renewal
@@ -47,12 +47,12 @@ The secret template functions is what you will use to fetch resources such as st
-
+
```bash
- listSecrets "" "environment-slug" "" ""
+ secret "" "environment-slug" "" ""
```
```bash example-template-usage-1
- {{- with listSecrets "6553ccb2b7da580d7f6e7260" "dev" "/" `{"recursive": false, "expandSecretReferences": true}` }}
+ {{- with secret "6553ccb2b7da580d7f6e7260" "dev" "/" `{"recursive": false, "expandSecretReferences": true}` }}
{{- range . }}
{{ .Key }}={{ .Value }}
{{- end }}
@@ -72,7 +72,7 @@ The secret template functions is what you will use to fetch resources such as st
- **Function name**: listSecrets
+ **Function name**: `secret`
**Description**: This function can be used to render the full list of secrets within a given project, environment and secret path.
@@ -96,7 +96,7 @@ The secret template functions is what you will use to fetch resources such as st
{{ end }}
```
- **Function name**: getSecretByName
+ **Function name**: `getSecretByName`
**Description**: This function can be used to render a single secret by it's name.
@@ -116,7 +116,7 @@ The secret template functions is what you will use to fetch resources such as st
```
- **Function Name**: dynamic_secret
+ **Function Name**: `dynamic_secret`
**Description**: This function can be used to render a dynamic secret lease credentials. The credentials are automatically renewed before they expire, ensuring that the rendered credentials are always up-to-date.
@@ -135,13 +135,13 @@ The Infisical Agent supports clientside caching of Dynamic Secret leases. If the
### Persistent Caching
-The Agent currently only supports persistent caching. To utilize persistent caching, you must be within a Kubernetes environment. We recommend using the [Infisical Agent Injector](/integrations/platforms/infisical-agent-injector) to inject the agent into pods within your Kubernetes cluster on demand.
+The Agent currently only supports persistent caching. To utilize persistent caching, you must be within a Kubernetes environment. We recommend using the [Infisical Agent Injector](/integrations/platforms/kubernetes-injector) to inject the agent into pods within your Kubernetes cluster on demand.
### Cache eviction
Cache eviction is the process of removing cached data from the cache. The Agent will automatically evict cached data when the cache is full during a garbage collection cycle which is triggered every 10 minutes.
-The cache will automatically evict cached data that has gone stale or is about to go stale. For dynamic resources (such as dynamic secret leases), there's a TTL (Time-to-Live) associated with each lease which is used to determine if the lease is stale or about to go stale.
+The cache will also automatically evict cached data that has gone stale or is about to go stale. For dynamic resources (such as dynamic secret leases), there's a TTL (Time-to-Live) associated with each lease which is used to determine if the lease is stale or about to go stale.
If a stale dynamic secret lease is detected, it will be automatically evicted from the cache and replaced with a new up-to-date lease.
@@ -159,7 +159,7 @@ Configuring the cache is done through the agent configuration file. The followin
- Persistent caching is only supported within kubernetes environments at the moment. Please refer to the [Infisical Agent Injector](/integrations/platforms/infisical-agent-injector) documentation for more information on how to use persistent caching within Kubernetes environments.
+ Persistent caching is only supported within kubernetes environments at the moment. Please refer to the [Infisical Agent Injector](/integrations/platforms/kubernetes-injector) documentation for more information on how to use persistent caching within Kubernetes environments.
```yaml example-agent-config-file.yaml
diff --git a/docs/integrations/platforms/kubernetes-injector.mdx b/docs/integrations/platforms/kubernetes-injector.mdx
index 9e42b912c..f51a96ab2 100644
--- a/docs/integrations/platforms/kubernetes-injector.mdx
+++ b/docs/integrations/platforms/kubernetes-injector.mdx
@@ -189,11 +189,11 @@ The Infisical Agent Injector supports the following annotations:
- The maximum ephemeral storage limit for the agent containers. Doesn't have an explicit default vaule. The default value will conform to the default ephemeral storage limit for the pod.
+ The maximum ephemeral storage limit for the agent containers. Doesn't have an explicit default value. The default value will conform to the default ephemeral storage limit for the pod.
- The minimum ephemeral storage request for the agent containers. Doesn't have an explicit default vaule. The default value will conform to the default ephemeral storage request for the pod.
+ The minimum ephemeral storage request for the agent containers. Doesn't have an explicit default value. The default value will conform to the default ephemeral storage request for the pod.
@@ -280,7 +280,7 @@ The entire config needs to be of string format and needs to be assigned to the `
The path to the Kubernetes service account token to use for encrypting the persistent cache. Required when using `kubernetes` cache type. Defaults to `/var/run/secrets/kubernetes.io/serviceaccount/token`.
-
+
It is recommended to use the annotation `org.infisical.com/agent-cache-enabled: "true"` instead of configuring the cache on the config map. Refer to the [Supported annotations](/integrations/platforms/kubernetes-injector#supported-annotations) documentation for more information on how to configure the cache through annotations.
diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/DynamicSecretListView/DynamicSecretListView.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/DynamicSecretListView/DynamicSecretListView.tsx
index ee19f81e1..ed6dc2824 100644
--- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/DynamicSecretListView/DynamicSecretListView.tsx
+++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/DynamicSecretListView/DynamicSecretListView.tsx
@@ -76,7 +76,10 @@ export const DynamicSecretListView = ({
};
useEffect(() => {
- if (selectedDynamicSecretId) {
+ if (
+ selectedDynamicSecretId &&
+ dynamicSecrets.find((secret) => secret.id === selectedDynamicSecretId)
+ ) {
handlePopUpOpen("dynamicSecretLeases", selectedDynamicSecretId);
}
}, [selectedDynamicSecretId]);