Environment Variables
On this page
Load secrets and config from .env in the project root. System environment variables override .env.
Access
| Context | Syntax |
|---|
| SQL config files | ${VAR} |
| Starlark scripts | env.get("VAR") |
| Starlark write | env.set("VAR", "value") |
.env Syntax
KEY=VALUE
KEY="quoted value"
KEY='single quoted'
# comments ignored
OndatraSQL Variables
| Variable | Description |
|---|
ONDATRA_KEY | API key for managed OAuth2 via oauth2.ondatra.sh |
ONDATRA_OAUTH_HOST | Override managed OAuth2 service URL |
EDITOR | Editor 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_*.
| Variable | Description |
|---|
<PREFIX>_CLIENT_ID | OAuth2 client ID |
<PREFIX>_CLIENT_SECRET | OAuth2 client secret |
<PREFIX>_AUTH_URL | Authorization endpoint |
<PREFIX>_TOKEN_URL | Token endpoint |
<PREFIX>_SCOPE | OAuth2 scopes (optional) |
Cloud Storage
Picked up automatically by DuckDB’s credential chain.
| Variable | Provider |
|---|
AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION | Amazon S3 |
GOOGLE_APPLICATION_CREDENTIALS | Google Cloud Storage |
AZURE_STORAGE_ACCOUNT, AZURE_STORAGE_KEY | Azure Blob Storage |