Configuration
All settings are managed through Pydantic Settings loaded from environment variables (.env file or system env).
Settings Reference
Database
Database
| Variable | Default | Description |
|---|---|---|
DATABASE_URL | postgresql+asyncpg://quint:quint_local_dev@localhost:5432/quint | Async PostgreSQL connection string |
Redis
Redis
| Variable | Default | Description |
|---|---|---|
REDIS_URL | redis://localhost:6379/0 | Redis connection string |
REDIS_EVENT_TTL | 86400 | Event cache TTL (seconds) |
REDIS_POLICY_TTL | 3600 | Policy cache TTL (seconds) |
REDIS_MAX_EVENTS_PER_CUSTOMER | 10000 | Max cached events per customer |
API Server
API Server
| Variable | Default | Description |
|---|---|---|
API_HOST | 0.0.0.0 | Server bind address |
API_PORT | 8000 | Server port |
API_WORKERS | 4 | Uvicorn worker count |
CORS_ORIGINS | ["http://localhost:3000"] | Allowed CORS origins |
Rate Limits
Rate Limits
| Variable | Default | Description |
|---|---|---|
RATE_LIMIT_STARTER | 10000 | Events/day for starter tier |
RATE_LIMIT_PRO | 100000 | Events/day for pro tier |
RATE_LIMIT_ENTERPRISE | 1000000 | Events/day for enterprise tier |
GraphReasoner
GraphReasoner
| Variable | Default | Description |
|---|---|---|
GRAPH_REASONER_ENABLED | True | Enable primary scoring engine |
GNN_ENABLED | False | Enable GNN structural scoring |
GNN_MODEL_PATH | "" | Path to trained GNN model |
GNN_WEIGHT | 0.0 | GNN weight in ensemble |
FORWARD_CHAIN_WEIGHT | 1.0 | Forward-chaining weight |
Memgraph
Memgraph
| Variable | Default | Description |
|---|---|---|
MEMGRAPH_URL | bolt://localhost:7687 | Memgraph Bolt URL |
MEMGRAPH_USERNAME | "" | Memgraph username |
MEMGRAPH_PASSWORD | "" | Memgraph password |
MEMGRAPH_ENABLED | False | Enable Memgraph |
MEMGRAPH_ENRICH_ENABLED | False | Enable enrichment queries |
MEMGRAPH_EVENT_STORE_ENABLED | False | Write events to Memgraph |
MEMGRAPH_QUERY_TIMEOUT_MS | 30 | Query timeout (ms) |
LLM (Gemini)
LLM (Gemini)
| Variable | Default | Description |
|---|---|---|
GEMINI_API_KEY | "" | Google Gemini API key |
GEMINI_MODEL | gemini-2.5-flash | Model name |
GEMINI_TIMEOUT | 30.0 | Request timeout (seconds) |
Risk Engine (gRPC)
Risk Engine (gRPC)
| Variable | Default | Description |
|---|---|---|
RISK_ENGINE_ADDRESS | localhost:50051 | gRPC server address |
RISK_ENGINE_TIMEOUT | 120.0 | gRPC timeout (seconds) |
RISK_ENGINE_ENABLED | False | Enable GPU risk engine |
Modal (GPU)
Modal (GPU)
| Variable | Default | Description |
|---|---|---|
MODAL_TOKEN_ID | "" | Modal authentication token ID |
MODAL_TOKEN_SECRET | "" | Modal authentication secret |
WEIGHTS_VOLUME_NAME | customer-lora-weights | Modal volume for model weights |
Orchestrator
Orchestrator
| Variable | Default | Description |
|---|---|---|
BATCH_INTERVAL_MINUTES | 5 | Batch processing interval |
MAX_EVENTS_PER_CHUNK | 256 | Max events per processing chunk |
MAX_PARALLEL_CHUNKS | 10 | Max parallel chunk processing |
MAX_RETRY_COUNT | 3 | Max retries before dead letter |
Caching
Caching
| Variable | Default | Description |
|---|---|---|
POSTGRES_CACHE_TTL_DAYS | 7 | PostgreSQL L2 cache TTL |
Archival
Archival
| Variable | Default | Description |
|---|---|---|
ARCHIVE_AFTER_DAYS | 90 | Days before archival to S3 |
ARCHIVE_STORAGE_BUCKET | quint-archive | S3 bucket name |
ARCHIVE_STORAGE_ENDPOINT | "" | S3-compatible endpoint |
Logging
Logging
| Variable | Default | Description |
|---|---|---|
LOG_LEVEL | info | Logging level |
ENVIRONMENT | local | Environment name (local/staging/production) |
Local Development
Create a.env file in the infra/ directory: