Use all External Secrets Enterprise features to leverage runtime bound, disposable credentials
esi-cli
, ESI Federation, and Generators
– to deliver a seamless dynamic credentials experience.
esi-cli
init container based on Pod annotations.esi-cli
: Runs as an init container within your application Pod. It communicates with the ESI Federation server to fetch dynamic credentials from a Generator
and injects them into the main application container (as environment variables or files).esi-cli
(as a client) to securely request secrets from a central Federation Server. This server can be the same ESE instance managing the Pod or a separate, dedicated ESE instance.Generators
: Custom Resources (CRs) deployed on the Federation Server. They define how to create dynamic secrets on-the-fly by interacting with backend systems like HashiCorp Vault, AWS IAM, GCP IAM, etc.esi-cli
and configure it for dynamic credential retrieval.esi-cli
init container and configures it using the provided annotations (federation server URL, target generator, injection method, etc.).esi-cli
Execution: The esi-cli
init container starts before the main application container.esi-cli
authenticates to the ESI Federation Server (typically using the Pod’s Service Account token) and requests a secret from the specified Generator
.Generator
on the Federation Server interacts with its configured backend (e.g., Vault) to create a new, temporary credential.esi-cli
.esi-cli
injects the received credential data into the application’s environment (e.g., as environment variables or files in a shared volume).esi-cli
init container completes, and the main application container starts with the dynamic credential readily available.Generator
(or the backend system it manages) is responsible for revoking or ensuring the credential is no longer valid.SecretStore
pointing to Vault).Generator
Create a Generator
Custom Resource on the ESE Federation Server. This example uses a hypothetical VaultDynamicSecretGenerator
that leverages an existing ESE SecretStore
(which points to Vault) to generate credentials.
Authorization
CR on the ESE Federation Server to allow the Service Account of your application Pod to use the vault-app-creds-generator
.
esi-cli
.
esi-cli
.esi-cli
uses the my-application-sa
token to talk to the Federation Server.vault-app-creds-generator
.esi-cli
sets DB_USER
and DB_PASS
environment variables for main-app-container
.Generators
and Authorizations
on the Federation Server provide central control and can be audited.Generator
types and diverse injection methods (env vars, files).