envil envil Docs

Azure Key Vault

Source server variables from Azure Key Vault.

bun add @azure/keyvault-secrets @azure/identity
import {
  configureResolver,
  createEnv,
  fromResolver,
  requiredString,
  server,
} from "@ayronforge/envil";
import { azureKeyVaultAdapter } from "@ayronforge/envil/azure";

const azure = configureResolver(azureKeyVaultAdapter, {
  vaultUrl: "https://my-vault.vault.azure.net",
});

export const appEnv = createEnv(
  server({
    API_TOKEN: requiredString.pipe(
      fromResolver(azure, "api-token"),
    ),
  }),
);

The adapter uses DefaultAzureCredential unless a credential is supplied. Azure 404 responses become Option.none().