Environment Variables

On this page

Load secrets and config from .env in the project root. System environment variables override .env.

Access

ContextSyntax
SQL config files${VAR}
Starlark scriptsenv.get("VAR")
Starlark writeenv.set("VAR", "value")

.env Syntax

KEY=VALUE
KEY="quoted value"
KEY='single quoted'
# comments ignored

OndatraSQL Variables

VariableDescription
ONDATRA_KEYAPI key for managed OAuth2 via oauth2.ondatra.sh
ONDATRA_OAUTH_HOSTOverride managed OAuth2 service URL
EDITOREditor for ondatrasql edit (falls back to nano, vi, vim)

OAuth2 Provider Variables

For local OAuth2 (when ONDATRA_KEY is not set). Provider name maps to env prefix: google-sheets becomes GOOGLE_SHEETS_*.

VariableDescription
<PREFIX>_CLIENT_IDOAuth2 client ID
<PREFIX>_CLIENT_SECRETOAuth2 client secret
<PREFIX>_AUTH_URLAuthorization endpoint
<PREFIX>_TOKEN_URLToken endpoint
<PREFIX>_SCOPEOAuth2 scopes (optional)

Cloud Storage

Picked up automatically by DuckDB’s credential chain.

VariableProvider
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGIONAmazon S3
GOOGLE_APPLICATION_CREDENTIALSGoogle Cloud Storage
AZURE_STORAGE_ACCOUNT, AZURE_STORAGE_KEYAzure Blob Storage