83d516afa1
FastAPI gateway with A/B/C lane orchestration, LiteLLM proxy config, Swarm stack (postgres, redis, VPN off-by-default), deploy/smoke/audit scripts.
51 lines
1.6 KiB
Bash
51 lines
1.6 KiB
Bash
# =============================================================================
|
|
# EventHubAiRouter — IFT Docker Swarm (.env not committed; use Swarm secrets)
|
|
# =============================================================================
|
|
|
|
STACK_NAME=ai-router
|
|
TZ=Europe/Moscow
|
|
DEPLOY_HOST=https://ai-router.ift.calentiq.com
|
|
|
|
# --- LiteLLM ---
|
|
LITELLM_MASTER_KEY=sk-litellm-change-me
|
|
LITELLM_SALT_KEY=sk-salt-generate-once-never-change
|
|
LITELLM_IMAGE=ghcr.io/berriai/litellm:main-v1.96.0-stable
|
|
PROXY_BASE_URL=https://litellm.ift.calentiq.com
|
|
|
|
# Postgres (LiteLLM Admin UI + spend logs)
|
|
POSTGRES_USER=litellm
|
|
POSTGRES_DB=litellm
|
|
POSTGRES_PASSWORD=change-me-postgres
|
|
|
|
# Novita AI (direct from IFT, no VPN)
|
|
NOVITA_API_KEY=
|
|
|
|
# Optional fallbacks
|
|
GROQ_API_KEY=
|
|
GEMINI_API_KEY=
|
|
|
|
# Budget (USD/month, also in litellm_config.yaml)
|
|
LITELLM_MAX_BUDGET=50
|
|
|
|
# --- VPN (off by default) ---
|
|
VPN_ENABLED=false
|
|
VLESS_PROXY_URL=http://vless-proxy:8080
|
|
NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16,api.novita.ai,novita.ai,git.sabilin.com,*.ift.calentiq.com,ift.calentiq.com,*.ift.eventhub.local,*.eventhub.local
|
|
|
|
DISABLE_AIOHTTP_TRANSPORT=True
|
|
USE_AIOHTTP_TRANSPORT=False
|
|
|
|
# --- Gateway (Zed entrypoint) ---
|
|
ROUTER_API_KEY=sk-router-change-me
|
|
ROUTER_IMAGE=git.sabilin.com/eventhub/ai-router-gateway:ift
|
|
LITELLM_INTERNAL_URL=http://litellm:4000
|
|
DEFAULT_QUALITY_MODE=auto
|
|
REDIS_URL=redis://redis:6379/0
|
|
|
|
# --- Observability ---
|
|
UPTIME_KUMA_PORT=3001
|
|
|
|
# Smoke test target (HTTPS after Traefik deploy)
|
|
TEST_BASE_URL=https://ai-router.ift.calentiq.com
|
|
TEST_LITELLM_URL=https://litellm.ift.calentiq.com
|