summaryrefslogtreecommitdiff
path: root/config.control.example.json
blob: d601b43554963d4556ff4e7117e281d37c533bd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
{
  "server": {
    "address": ":8080",
    "max_body_bytes": 16777216,
    "read_header_timeout_seconds": 10,
    "idle_timeout_seconds": 120,
    "shutdown_timeout_seconds": 20
  },
  "auth": {
    "allow_anonymous": false
  },
  "control_plane": {
    "enabled": true,
    "database_url_env": "AIGW_DATABASE_URL",
    "redis_url_env": "AIGW_REDIS_URL",
    "credential_key_env": "AIGW_CREDENTIAL_KEY",
    "redis_channel": "aigw:control:changed",
    "snapshot_cache_key": "aigw:control:generation",
    "reload_interval_seconds": 30,
    "auto_migrate": true
  },
  "admin": {
    "enabled": true,
    "token_env": "AIGW_ADMIN_TOKEN",
    "base_path": "/admin"
  },
  "billing": {
    "enabled": true,
    "currency": "usd",
    "default_max_output_tokens": 4096,
    "min_top_up_minor": 500,
    "max_top_up_minor": 1000000,
    "stripe": {
      "enabled": true,
      "api_key_env": "AIGW_STRIPE_API_KEY",
      "webhook_secret_env": "AIGW_STRIPE_WEBHOOK_SECRET",
      "success_url": "http://127.0.0.1:8080/admin/?topup=success",
      "cancel_url": "http://127.0.0.1:8080/admin/?topup=cancel"
    }
  },
  "upstream_http": {
    "max_idle_connections": 4096,
    "max_idle_connections_per_host": 1024,
    "idle_connection_timeout_seconds": 90,
    "response_header_timeout_seconds": 60
  },
  "observability": {
    "usage_buffer": 8192,
    "expose_metrics": true
  },
  "providers": [],
  "models": []
}