Environment variables
Variables that matter to integrators first; internal build and platform configuration clearly marked below.
Integrations and the fleet agent
The variables your automation actually sets:
| Variable | Purpose |
|---|---|
CONSTELLATION_API_TOKEN | The tenant API key, sent as the x-api-key header. The convention across the fleet agent, the examples, and the docs. |
CONSTELLATION_CONFIG_DIR | Fleet agent configuration directory (default ~/.constellation, where config.toml lives). |
Key handling guidance lives in Security overview; the config.toml contract in Integration bundle.
Console build configuration (internal)
Set at build time per environment (from SSM in CI, or .env.local in development). These configure the console itself; integrators never need them.
| Variable | Purpose |
|---|---|
VITE_CONSTELLATION_API_URL | Direct platform API base for the console's live mode |
VITE_CONSTELLATION_API_KEY | Tenant key baked into a build for live API reads |
VITE_CONSTELLATION_TOPOLOGY_AS_OF | Pins topology reads to a fixed instant for seeded sandbox data |
VITE_COGNITO_DOMAIN / VITE_COGNITO_CLIENT_ID / VITE_COGNITO_REDIRECT_URI | Console sign-in configuration |
VITE_CHAT_API_URL | Assistant backend endpoint (production Lambda) |
VITE_BILLING_API_URL | Billing backend endpoint (production Lambda) |
VITE_CESIUM_ION_ACCESS_TOKEN | Enables real terrain for horizon sweeps and elevation masks; synthetic fallback without it |
Server-only secrets for the console's dev middleware and Lambdas (ANTHROPIC_API_KEY, STRIPE_SECRET_KEY, STRIPE_WEBHOOK_SECRET) are never exposed with a VITE_ prefix.
Local development (internal)
| Variable | Purpose |
|---|---|
CONSTELLATION_API_URL | Target for the console dev server's /app/api/os/* proxy (for example http://localhost:8000) |
VITE_CONSTELLATION_API_URL=http://localhost:8000
CONSTELLATION_API_URL=http://localhost:8000
Platform service configuration (internal)
The platform API reads its own environment configuration. Documented here so error behavior is explainable, not because customers can set them:
| Variable | Controls |
|---|---|
TENANT_REGISTRY | The tenant-to-data-plane registry (JSON) |
API_KEYS | Key material source (loaded from Secrets Manager, scrubbed after parse) |
CONSTELLATION_RATE_LIMIT_PER_IP | Per-IP rate limit (default 30/min) |
CONSTELLATION_MAX_REQUEST_BYTES | Body cap (default 1 MB) |
CONSTELLATION_TELEMETRY_MAX_ROWS | Topology read row cap (default 50,000) |
CONSTELLATION_CORS_ORIGINS | CORS allowlist; CORS is entirely off when empty |
CONSTELLATION_RATELIMIT_STORAGE_URI | Optional shared rate-limit store; in-memory per task when unset |
Docs and CI deploy (internal)
DOCS_S3_BUCKET, DOCS_CF_DISTRIBUTION_ID, and DOCS_CF_ALIAS drive the docs deploy; CONSOLE_* variables drive console deploys. Source of truth after infrastructure deploy is SSM.