Files
agiliton-account/.env.example
Christian Gick 52c2e9eca5 feat(agiliton-account): per-customer LiteLLM MCP server provisioning
At first login, provisionMcpServer() creates a sitebridge-{customer_id}
entry in LiteLLM DB via POST /v1/mcp/server, pointing to the customer's
demux URL. The virtual key is then scoped to ["sitebridge-{customer_id}"]
so LiteLLM routes tool calls only to that customer's WebSocket.

Also adds AGILITON_ACCOUNT_URL config for self-referencing in MCP URLs.

CF-3032

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 16:18:02 +03:00

47 lines
1.4 KiB
Plaintext

# agiliton-account — copy to .env and fill in values
# Secrets are read from vault on the infra VM via entrypoint.sh
PORT=4100
HOST=0.0.0.0
LOG_LEVEL=info
NODE_ENV=production
# Database (shared agiliton Postgres)
DATABASE_URL=postgres://agiliton:PASSWORD@postgres:5432/agiliton
# Redis
REDIS_URL=redis://redis:6379
# JWT (32+ random bytes, hex)
JWT_SECRET=changeme-generate-with-openssl-rand-hex-32
JWT_EXPIRES_IN=7d
# AES-256-GCM encryption for LiteLLM virtual keys (64 hex chars = 32 bytes)
ENCRYPTION_KEY=changeme-generate-with-openssl-rand-hex-32
# Self-referencing URL used when registering per-customer MCP servers in LiteLLM
# LiteLLM calls this URL to forward tool calls to the right customer's WebSocket
AGILITON_ACCOUNT_URL=http://agiliton-account:4100
# LiteLLM
LITELLM_URL=http://litellm:4000
LITELLM_MASTER_KEY=sk-litellm-master-key
# Shared secret for LiteLLM→agiliton-account MCP bridge calls
MCP_BRIDGE_SECRET=changeme-generate-with-openssl-rand-hex-32
# Google OAuth (create at console.cloud.google.com)
GOOGLE_CLIENT_ID=xxx.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=GOCSPX-xxx
# Microsoft OAuth (optional, create at portal.azure.com)
MS_CLIENT_ID=
MS_TENANT_ID=common
# Customer defaults
DEFAULT_BUDGET_USD=30.0
DEFAULT_BUDGET_DURATION=30d
DEFAULT_RPM_LIMIT=30
DEFAULT_MODELS=claude-sonnet-4-6,claude-opus-4-6,grok-heavy
MCP_BRIDGE_TIMEOUT_MS=15000