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]);