server: host: "0.0.0.0" port: 8080 admin_port: 8081 max_request_body_mb: 20 auth: enabled: true methods: [api_key] jwt_issuer: edge-ai-gateway jwt_secret_env: EDGEAI_JWT_SECRET scheduler: max_running_tasks: 8 max_queued_tasks: 500 fairness: weighted_fair_queue priority_aging_seconds: 30 reserved_realtime_slots: 2 timeouts: default_connect_ms: 5000 default_queue_ms: 5000 default_first_token_ms: 10000 default_inference_ms: 60000 default_idle_ms: 15000 default_total_ms: 90000 cancel_grace_period_ms: 3000 context: safety_margin_ratio: 0.08 default_policy: summary_and_recent max_session_messages: 200 session_idle_ttl_minutes: 60 enable_prompt_persistence: false models: general-chat: provider: ollama actual_model: deepseek-r1:1.5b endpoint: http://127.0.0.1:11434 context_window: 32768 max_output_tokens: 4096 max_concurrency: 4 residency: always cancel_supported: true fast-chat: provider: ollama actual_model: deepseek-r1:1.5b endpoint: http://127.0.0.1:11434 context_window: 16384 max_output_tokens: 2048 max_concurrency: 2 residency: on_demand idle_unload_seconds: 600 vllm-chat: provider: vllm actual_model: deepseek-r1:1.5b endpoint: http://127.0.0.1:8000 context_window: 32768 max_output_tokens: 4096 max_concurrency: 4 residency: always cancel_supported: true routing: sensitive_data_local_only: true allow_cloud_fallback_by_default: false overload_strategy: - same_model_other_instance - smaller_local_model - backup_edge_node - reject circuit_breaker: error_rate_threshold: 0.1 min_requests: 10 window_seconds: 60 open_duration_seconds: 30 half_open_max_requests: 1 backpressure: level1_threshold: 0.70 level2_threshold: 0.85 level3_threshold: 0.95 observability: metrics_enabled: true metrics_path: /metrics tracing_enabled: true prompt_logging: metadata_only audit_retention_days: 180 log_level: info storage: session_db: sqlite:///var/lib/edgeai/sessions.db task_state: sqlite:///var/lib/edgeai/tasks.db redis: enabled: false endpoint: redis://127.0.0.1:6379