Skip to main content
Complete reference for every input variable exposed by the GCP Terraform modules. Use it while filling in terraform.tfvars for the first time or tuning an existing deployment. Variables come in two categories:
  • Non-sensitive (region, sizing, feature flags): set in infra/terraform.tfvars.
  • Sensitive (license key, passwords, encryption keys): sourced through infra/scripts/setup-env.sh, which writes them to Google Secret Manager and exports them for the Terraform and Helm steps.
Defaults reflect the main branch and v0.17.x tags, which deploy Helm chart 0.17. Rows that differ on v0.16.x tags, which deploy chart 0.16, say so. For the end-to-end install, refer to the deploy guide. For how the modules fit together, refer to the architecture reference.

Core

Networking

GKE

PostgreSQL (Cloud SQL)

Redis (Memorystore)

ClickHouse

GCS storage

LangSmith application

Ingress and TLS

KEDA

Optional GCP modules

Sizing and feature flags

The Helm deploy scripts read these flags from terraform.tfvars to enable the matching chart components, and Terraform reads enable_fleet, enable_standalone_polly, and enable_standalone_insights to provision per-feature databases when Postgres and Redis are external. sizing_profile is read by the deploy scripts to select the Helm sizing overlay.

SmithDB

SmithDB requires GKE Standard. Terraform rejects enable_smithdb on Autopilot, and rejects the migration and query gates unless smithdb_ingestion_enabled = true.

Sandboxes

Sandboxes require GKE Standard and enable_gcp_iam_module = true.

Sensitive values (set with setup-env.sh)

Sourcing infra/scripts/setup-env.sh writes these to Google Secret Manager as langsmith-<name_prefix>-<environment>-<key> and exports them as TF_VAR_* variables in the current shell. Never set these inline in terraform.tfvars. make deploy also reads the initial admin email from the LANGSMITH_ADMIN_EMAIL environment variable, which setup-env.sh does not set.