1. Docs
  2. Pulumi ESC
  3. Integrations
  4. Dynamic secrets
  5. infisical-secrets

infisical-secrets

    The infisical-secrets provider enables you to dynamically import Secrets from Infisical Secrets into your Environment. The provider will return a map of names to Secrets.

    Example

    values:
      infisical:
        login:
          fn::open::infisical-login:
            oidc:
              identityId: aaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee
        secrets:
          fn::open::infisical-secrets:
            login: ${infisical.login}
            get:
              api-key:
                projectId: xxxxxxx-bbbb-cccc-dddd-eeeeeeeeeeee
                environment: prod
                secretKey: api-key
              app-secret:
                projectId: xxxxxxx-bbbb-cccc-dddd-eeeeeeeeeeee
                environment: dev
                secretKey: app-secret
    

    Configuring OIDC

    To learn how to configure OpenID Connect (OIDC) between Pulumi Cloud and Infisical, see the OpenID Connect integration documentation. Once you have completed these steps, you can validate that your configuration is working by running either of the following:

    • esc open <org>/<project>/<environment> command of the Pulumi ESC CLI
    • pulumi env open <org>/<project>/<environment> command of the Pulumi CLI

    Make sure to replace <org>, <project>, and <environment> with the values of your Pulumi organization and environment identifier respectively. You should see output similar to the following:

    {
      "infisical": {
        "login": {
          "accessToken": "eyJh...."
        },
        "secrets": {
          "api-key": "my-api-key",
          "app-secret": "my-app-secret"
        }
      }
    }
    

    Inputs

    PropertyTypeDescription
    loginInfisicalSecretsLoginCredentials to use to log in to Infisical.
    getmap[string]InfisicalSecretsGetA map from names to secrets to read from Infisical Secrets. The outputs will map each name to the secret’s sensitive data.

    InfisicalSecretsLogin

    PropertyTypeDescription
    siteUrlstring[Optional] - The base URL of the Infisical instance you authenticated to. May be omitted if default US instance was used.
    accessTokenstringThe access token to use for authentication.

    InfisicalSecretsGet

    PropertyTypeDescription
    projectIdstringThe projectId of the project the secret lives in. In the Infisical web app, navigate to your Secrets project, click on Project Settings, and click the Copy Project ID button.
    environmentstringThe environment slug of the environment the secret lives in. In the Infisical web app, navigate to your Secrets project, click on Project Settings, and find the slug in the Environments list. Default values are dev, staging, and prod
    secretKeystringThe name of the secret to import.
    secretPathstring[Optional] - The path inside the environment where the secret lives. For example, if your secret dbPassword lives within DatabaseDetails folder. The path would be /DatabaseDetails. If secretPath is not specified, the default path is / - the root environment folder.
    typestring[Optional] - The secret type, either shared or personal.

    Outputs

    PropertyTypeDescription
    N/AobjectA map of names to imported Secrets.
      PulumiUP May 6, 2025. Register Now.