Skip to main content

Environment Variables Reference

Complete reference of runtime environment variables used by the current codebase.

Core Application

VariableDefaultDescription
ENVIRONMENTdevelopmentRuntime environment (development, staging, production)
DEBUGfalseEnable debug mode (verbose logging, auto-reload)
LOG_LEVELINFOLogging level: DEBUG, INFO, WARNING, ERROR
SYSTEM_MODErealRuntime guardrail mode (dummy, dry_run, real)

LLM Provider

VariableDefaultDescription
LLM_BACKENDvllmInference backend (vllm or ollama)
VLLM_MODELgranite-soc-specialistvLLM specialist model
VLLM_ORCHESTRATOR_MODELgranite-soc-specialistvLLM orchestrator model
VLLM_BASE_URLhttp://vllm:8000/v1vLLM instance URL
OLLAMA_MODELgranite4:8bOllama specialist model
OLLAMA_ORCHESTRATOR_MODELgranite4:8bOllama orchestrator model. Keep this equal to OLLAMA_MODEL for single-model local deployments.
OLLAMA_BASE_URLhttp://ollama:11434Ollama instance URL

Local Single-Model Controls

These variables keep all AuroraSOC agents on one local inference service and one model tag, which is the recommended MVP path for 8 GB VRAM laptops and other constrained single-machine deployments.

VariableDefaultDescription
GRANITE_SINGLE_MODEL_MODEtrueForces Ollama specialist and orchestrator agents to resolve to the same model tag, even if per-agent model routing or a separate orchestrator tag is configured.
GRANITE_USE_SHARED_MODEL_POOLtrueReuses process-local BeeAI ChatModel instances for identical backend/model/provider tuples.
GRANITE_MAX_CONCURRENT_REQUESTS1Recommended local inference concurrency. Keep at 1 on 8 GB VRAM to avoid model thrash.
GRANITE_REQUEST_QUEUE_SIZE16Planned bounded queue size for shared LLM request admission.
GRANITE_INFERENCE_TIMEOUT_SECONDS180Planned per-request timeout budget for local LLM inference.

For a quota-limited local install, inspect installed models first with ollama list. If a usable model is already present, point both OLLAMA_MODEL and OLLAMA_ORCHESTRATOR_MODEL at that tag instead of pulling another model.

PostgreSQL

VariableDefaultDescription
PG_HOSTpostgresPostgreSQL hostname
PG_PORT5432PostgreSQL port
PG_USERaurorasocDatabase user
PG_PASSWORD(required in compose)Database password
PG_DATABASEaurorasocDatabase name

Redis

VariableDefaultDescription
REDIS_URLredis://redis:6379Direct connection URL

NATS JetStream

VariableDefaultDescription
NATS_URLnats://localhost:4222NATS server URL
NATS_STREAM_NAMEAURORAJetStream stream name

MQTT

VariableDefaultDescription
MQTT_HOSTmosquittoMQTT broker hostname
MQTT_PORT8883MQTT broker port (mTLS-first)
MQTT_USERNAMEMQTT username (optional)
MQTT_PASSWORDMQTT password (optional)
MQTT_TOPIC_PREFIXauroraMQTT topic prefix

pgvector (PostgreSQL Extension)

Vector embedding storage is handled by pgvector inside the same PostgreSQL instance. No separate service is needed. Relevant pool and SSL settings live in the PostgreSQL section above.

VariableDefaultDescription
PG_POOL_SIZE20SQLAlchemy connection pool size
PG_MAX_OVERFLOW10Extra connections beyond pool size
PG_SSLMODEpreferSSL mode (disable, prefer, require, verify-ca, verify-full)

HashiCorp Vault

VariableDefaultDescription
VAULT_ADDRhttp://vault:8200Vault server URL
VAULT_TOKENVault access token
VAULT_KV_MOUNTsecretKV-v2 secrets mount path
VAULT_PKI_MOUNTpki_iotPKI mount path

Authentication

VariableDefaultDescription
JWT_SECRET_KEYRequired. JWT signing secret (≥32 chars)
JWT_EXPIRY_HOURS24Token lifetime in hours
API_SERVICE_KEYRequired. static bootstrap API key for service auth

Approval Policy

VariableDefaultDescription
APPROVAL_EXPIRES_MINUTES30Default expiration window for human approval requests
APPROVAL_WAIT_TIMEOUT_SECONDS300Default wait timeout for approval polling flows
APPROVAL_POLL_INTERVAL_SECONDS5Poll interval for approval decision checks

Observability

VariableDefaultDescription
OTEL_EXPORTER_ENDPOINThttp://otel-collector:4317OTLP gRPC endpoint
OTEL_SERVICE_NAMEaurorasocService name in traces
OTEL_PROMETHEUS_PORT9090Prometheus metrics port used by config

A2A Resolution

Used to override agent service discovery statically:

VariableDefaultDescription
A2A_DISCOVERY_MODEcomposeHow to resolve agent IP (compose or k8s)
A2A_CLIENT_HOSTGlobal override for all A2A target hostnames

Agent Deployment

VariableDefaultDescription
ENABLED_AGENTSallComma-separated list of specialist agent names to instantiate at startup, or all to start the full fleet (e.g. SecurityAnalyst,ThreatHunter,IncidentResponder). The Orchestrator always runs regardless of this setting.

GPU / vLLM Tuning

These variables are used by the vllm service in docker-compose.gpu.yml when running on consumer GPUs with limited VRAM.

VariableDefaultDescription
VLLM_GPU_MEMORY_UTIL0.90Fraction of GPU VRAM reserved for vLLM's KV-cache (0.0–1.0). Reduce if OOM.
VLLM_MAX_MODEL_LEN8192Maximum sequence length (prompt + completion tokens). Lower = less VRAM.
CUDA_VISIBLE_DEVICES(unset)GPU index to expose to the vLLM container. Leave unset to use all GPUs.
Quick Validation

Check all loaded settings by starting the API with DEBUG=true:

DEBUG=true python -m aurorasoc.api.main

Settings will be printed at INFO level during startup.