# Global Settings GLOBAL_REGISTRY= TZ=UTC # Shannon Version (applies to gateway, orchestrator, llm-service, and agent-core) SHANNON_VERSION=v0.3.1 # ============================================================ # LLM API Keys — at least one provider is required # ============================================================ OPENAI_API_KEY= ANTHROPIC_API_KEY= GOOGLE_API_KEY= XAI_API_KEY= DEEPSEEK_API_KEY= # Optional tool/search API keys SERPAPI_API_KEY= FIRECRAWL_API_KEY= # ============================================================ # Security # ============================================================ # IMPORTANT: Change this in production! JWT_SECRET=development-only-secret-change-in-production # Set to 0 to enable JWT authentication in production GATEWAY_SKIP_AUTH=1 # ============================================================ # Service Versions # ============================================================ POSTGRES_VERSION=pg16 REDIS_VERSION=7.2-alpine QDRANT_VERSION=v1.17 TEMPORAL_VERSION=1.28.3 TEMPORAL_UI_VERSION=2.40.1 # ============================================================ # Ports (host-side overrides) # ============================================================ GATEWAY_PORT_OVERRIDE=8080 TEMPORAL_UI_PORT_OVERRIDE=8088 # ============================================================ # Database Configuration # ============================================================ POSTGRES_USER=shannon POSTGRES_PASSWORD=shannon POSTGRES_DB=shannon POSTGRES_PORT=5432 POSTGRES_SSLMODE=disable # ============================================================ # Redis Configuration # ============================================================ REDIS_URL=redis://redis:6379 REDIS_ADDR=redis:6379 REDIS_TTL_SECONDS=3600 # ============================================================ # Qdrant Configuration # ============================================================ QDRANT_HOST=qdrant QDRANT_PORT=6333 # ============================================================ # Temporal Configuration # ============================================================ TEMPORAL_NAMESPACE=default # ============================================================ # LLM Service Configuration # ============================================================ LLM_SERVICE_URL=http://llm-service:8001 DEFAULT_MODEL_TIER=small MAX_TOKENS=2000 TEMPERATURE=0.7 MAX_TOKENS_PER_REQUEST=10000 MODELS_CONFIG_PATH=/app/config/models.yaml # ============================================================ # Agent Core Configuration # ============================================================ # WASI sandbox for secure code execution SHANNON_USE_WASI_SANDBOX=1 WASI_MEMORY_LIMIT_MB=512 WASI_TIMEOUT_SECONDS=60 RUST_LOG=info # ============================================================ # Orchestrator / Gateway Configuration # ============================================================ ORCHESTRATOR_GRPC=orchestrator:50052 ADMIN_SERVER=http://orchestrator:8081 WORKFLOW_SYNTH_BYPASS_SINGLE=true PROVIDER_RATE_CONTROL_ENABLED=false # Worker pool sizes per priority queue WORKER_ACT_CRITICAL=12 WORKER_WF_CRITICAL=12 WORKER_ACT_HIGH=10 WORKER_WF_HIGH=10 WORKER_ACT_NORMAL=8 WORKER_WF_NORMAL=8 WORKER_ACT_LOW=4 WORKER_WF_LOW=4 # ============================================================ # Observability # ============================================================ OTEL_ENABLED=false # OTEL_EXPORTER_OTLP_ENDPOINT=localhost:4317 DEBUG=false ENVIRONMENT=production # ============================================================ # Resource Limits # ============================================================ # Gateway GATEWAY_CPU_LIMIT=1.0 GATEWAY_MEMORY_LIMIT=512M GATEWAY_CPU_RESERVATION=0.25 GATEWAY_MEMORY_RESERVATION=256M # Orchestrator ORCHESTRATOR_CPU_LIMIT=2.0 ORCHESTRATOR_MEMORY_LIMIT=2G ORCHESTRATOR_CPU_RESERVATION=0.5 ORCHESTRATOR_MEMORY_RESERVATION=512M # LLM Service LLM_SERVICE_CPU_LIMIT=2.0 LLM_SERVICE_MEMORY_LIMIT=2G LLM_SERVICE_CPU_RESERVATION=0.5 LLM_SERVICE_MEMORY_RESERVATION=512M # Agent Core AGENT_CORE_CPU_LIMIT=2.0 AGENT_CORE_MEMORY_LIMIT=2G AGENT_CORE_CPU_RESERVATION=0.5 AGENT_CORE_MEMORY_RESERVATION=512M # PostgreSQL POSTGRES_CPU_LIMIT=1.0 POSTGRES_MEMORY_LIMIT=1G POSTGRES_CPU_RESERVATION=0.25 POSTGRES_MEMORY_RESERVATION=256M # Redis REDIS_CPU_LIMIT=0.5 REDIS_MEMORY_LIMIT=512M REDIS_CPU_RESERVATION=0.1 REDIS_MEMORY_RESERVATION=128M # Qdrant QDRANT_CPU_LIMIT=1.0 QDRANT_MEMORY_LIMIT=1G QDRANT_CPU_RESERVATION=0.25 QDRANT_MEMORY_RESERVATION=256M # Temporal TEMPORAL_CPU_LIMIT=1.0 TEMPORAL_MEMORY_LIMIT=1G TEMPORAL_CPU_RESERVATION=0.25 TEMPORAL_MEMORY_RESERVATION=256M # Temporal UI (metrics profile) TEMPORAL_UI_CPU_LIMIT=0.5 TEMPORAL_UI_MEMORY_LIMIT=256M TEMPORAL_UI_CPU_RESERVATION=0.1 TEMPORAL_UI_MEMORY_RESERVATION=128M