Docs
Open the console →
Reference

Environment variables

Every Cloud Control environment variable: storage driver selection, platform owner, CC_DATA_KEY, lockout window, CC_CLOUD_MODE, CRON_SECRET and the test-only seams.

Configuration is entirely through environment variables. This reference groups them by purpose; the local .env.example is the authoritative template.

Storage

VariablePurpose
DATABASE_URLPostgres connection string. When set, the postgres driver is selected (wins over Turso).
TURSO_DATABASE_URLlibSQL/Turso URL. Selects the turso driver. A file: URL runs libSQL locally. Any integration prefix (e.g. cloudcontrol_TURSO_DATABASE_URL) is recognized.
TURSO_AUTH_TOKENAuth token for a remote Turso database.
SQLITE_DIRLocal SQLite directory (defaults to ./data). SQLite is the local fallback only — serverless filesystems are ephemeral, so Vercel needs Postgres or Turso.

Platform administration

VariablePurpose
PLATFORM_OWNER_EMAILPlatform-admin email, upserted on every boot. Set both on production.
PLATFORM_OWNER_PASSWORDPlatform-admin password — rotate by changing this and redeploying. When unset, a default admin is seeded everywhere (admin@snoweasl.com / SnoweaslAdmin!2026) — change it immediately.

Auth & SSO

VariablePurpose
CC_DATA_KEYBase64 of 32 random bytes — the AES-256-GCM key protecting stored secrets (org SSO client secrets). Required on Vercel before an org can save SSO; local dev has a documented fallback.
LOGIN_LOCKOUT_SECONDSLockout window in seconds (default 900 = 15 min). Only override for testing.
APP_BASE_URLPublic base URL for emailed reset links and OIDC redirect URIs, when behind a proxy/CDN. Falls back to the request origin.
RESET_EMAIL_WEBHOOK_URLOptional webhook for delivering password-reset links (POST { to, resetUrl }). Without it, links are logged server-side only.

Cloud connections & sync

VariablePurpose
CC_CLOUD_MODEUnset = real AWS/GCP adapters. mock selects deterministic in-process worlds for dev/tests — forbidden on Vercel by a boot tripwire.
CRON_SECRETBearer secret for GET /api/cron/sync. Without it the cron route always answers 401 and scheduled sync is off.
CC_AWS_ACCOUNT_IDCloud Control's own AWS account id, embedded in AWS onboarding instructions.
CC_OIDC_ISSUERCloud Control's OIDC issuer, embedded in GCP workload-identity onboarding.
CC_SYNC_DISABLEDSet to disable the local sync pump (instrumentation); use cron/manual sync only.

Docs site

VariablePurpose
NEXT_PUBLIC_SITE_URLCanonical origin for this documentation site's canonical URLs, Open Graph tags, sitemap and robots.txt. Defaults to https://cloud-control.snoweasl.com.

Test-only seams

Never set these in production

E2E_EXPOSE_RESET_TOKEN=1 returns reset tokens in the API response; E2E_MOCK_IDP=1 serves an in-process mock OIDC IdP at /api/e2e-idp (a hard 404 otherwise, always disabled on Vercel). They exist only for the end-to-end suite.