Переменные окружения¶
Полный перечень переменных окружения по сервисам — см. Конфигурация системы.
Общие переменные для всех сервисов¶
| Переменная | Описание |
|---|---|
LOG_LEVEL |
Уровень логирования: DEBUG, INFO, WARN, ERROR |
LOG_FORMAT |
Формат логов: json, text |
ENVIRONMENT |
Окружение: development, production |
LLM Gateway Adapter¶
Переменные окружения сервиса llm-gateway-adapter — адаптера между внешним LLM Gateway (LiteLLM, Portkey) и AppSec.AIGate. Назначение сервиса — см. Guardrail Adapter и Интеграция с LiteLLM.
Канонические переменные¶
| Переменная | По умолч. | Описание |
|---|---|---|
SERVICE_NAME |
llm-gateway-adapter |
Идентификатор сервиса (используется в логах и метриках) |
SERVICE_VERSION |
из CI (COMMIT_HASH), иначе dev |
Версия сборки |
ENVIRONMENT |
dev |
dev / staging / production |
SERVICE_PORT |
8000 |
Порт контейнера |
LOG_LEVEL |
INFO |
DEBUG / INFO / WARNING / ERROR |
LOG_FORMAT |
json |
json (прод) или text (локально) |
OTEL_ENABLED |
false |
Включить OpenTelemetry distributed tracing |
OTEL_EXPORTER_OTLP_ENDPOINT |
http://otel-collector.infra.svc.cluster.local:4317 |
OTLP gRPC-коллектор |
Прикладные переменные (префикс ADAPTER_)¶
| Переменная | По умолч. | Описание |
|---|---|---|
ADAPTER_AIGATE_URL |
http://api-gateway:8080 |
Base URL api-gateway для форвардинга guardrail-проверки |
ADAPTER_AIGATE_REQUEST_PATH |
/adapters/litellm |
Путь эндпоинта api-gateway для security check |
ADAPTER_AIGATE_TENANT_ID |
default |
Fallback tenant ID для заголовка X-Tenant-ID. Per-request tenant из metadata.tenant_id (LiteLLM request_data.metadata.tenant_id / Portkey metadata.tenant_id) имеет приоритет; env используется только когда клиент не передал tenant в метаданных. |
ADAPTER_AIGATE_TEAM_HEADER |
X-LLM-Team |
Имя заголовка для передачи team/tenant в api-gateway |
ADAPTER_AIGATE_HTTP_TIMEOUT_CONNECT_SEC |
0.5 |
httpx connect-timeout до api-gateway |
ADAPTER_AIGATE_HTTP_TIMEOUT_READ_SEC |
1.0 |
httpx read-timeout. На стендах с реальными ML-детекторами обычно поднимают до 5.0 — см. note ниже |
ADAPTER_AIGATE_HTTP_TIMEOUT_WRITE_SEC |
0.5 |
httpx write-timeout |
ADAPTER_AIGATE_HTTP_TIMEOUT_POOL_SEC |
0.5 |
httpx connection-pool acquire timeout |
Удалённые переменные
В ранних версиях адаптера существовали переменные ADAPTER_HOST, ADAPTER_PORT, ADAPTER_LOG_LEVEL, ADAPTER_LOG_FORMAT, ADAPTER_AIGATE_TIMEOUT. Они заменены на канонические SPEC-имена либо (для ADAPTER_AIGATE_TIMEOUT) на четыре phase-specific переменных, перечисленных выше. Defaults сохраняют historic fail-fast budget (≤ 4.5 с worst-case с 2 attempts + 0.5 с backoff), вписываясь в LiteLLM guardrail window (5–10 с).
Когда тюнить timeouts на k8s с реальными ML-детекторами
На стендах с Wildguard-Qwen3-4b + Qwen3Guard-Gen-4B pipeline p99 может превысить 1 с — адаптер ловит httpx.ReadTimeout → fail-secure BLOCK → клиент получает security check unavailable. Обычно достаточно поднять read до 5.0:
# Helm values: deploy/aigate/dev/llm-gateway-adapter.yaml
envVars:
- name: ADAPTER_AIGATE_HTTP_TIMEOUT_READ_SEC
value: "5.0"
Адаптер при старте логирует retry_budget_exceeds_litellm_default warning, если суммарный budget переваливает за 5 с — в этом случае увеличьте LiteLLM request_timeout соответственно либо снизьте per-phase timeouts. Pydantic validator (gt=0) отклоняет нулевые/отрицательные значения с понятной ошибкой при старте — pod не crash-loop'ит молча.