envil envil Docs

GCP Secret Manager

Source server variables from GCP Secret Manager.

bun add @google-cloud/secret-manager
import {
  configureResolver,
  createEnv,
  fromResolver,
  requiredString,
  server,
} from "@ayronforge/envil";
import { gcpSecretsAdapter } from "@ayronforge/envil/gcp";

const gcp = configureResolver(gcpSecretsAdapter, {
  projectId: "my-project",
  version: "latest",
});

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

Short references require projectId. Fully qualified references beginning with projects/ may omit it. GCP not-found responses become Option.none().