# xLB configuration. [server] bind = "0.0.0.0:8006" mode = "thin-l7" # thin-l7 (default) | l4 max_connections = 100000 tcp_nodelay = true reuseport = false max_header_bytes = 65536 # thin-l7 only # Optional TLS termination for client connections. When enabled, clients speak # HTTPS to xLB; xLB still forwards plaintext HTTP to the gateways. # [server.tls] # enabled = false # cert = "/etc/xlb/tls/fullchain.pem" # key = "/etc/xlb/tls/privkey.pem" [timeouts] connect = "5s" # first_byte = "60s" # optional TTFB budget before first response byte (defaults to idle) idle = "600s" total = "3600s" fin = "30s" [pool] max_idle_per_backend = 64 # max_conns_per_backend = 0 # 0 = unlimited; positive caps concurrent in-flight connections per backend # acquire_timeout = "5s" # max wait for a backend concurrency slot (defaults to timeouts.connect) idle_timeout = "60s" [backends] algorithm = "leastconn" # leastconn | roundrobin health_check_path = "/health" # health_check_headers = ["Authorization: Bearer sk-..."] # extra probe headers for an auth-protected health_check_path (e.g. LiteLLM /health; see docs/gateways.md) health_interval = "2s" health_check_timeout = "2s" unhealthy_threshold = 2 healthy_threshold = 2 # passive_unhealthy_threshold = 0 # 0 = disabled; positive ejects backend after N consecutive TCP dial failures # eject_cooldown = "5s" # cooldown before passively ejected backend is re-admitted [[backends.servers]] addr = "10.56.88.32:8001" weight = 1 [[backends.servers]] addr = "10.56.88.33:8002" weight = 1 [retry] max_retries = -1 # -1 = try all remaining healthy backends; 0 = disabled # timeout = "15s" # optional wall-clock budget across all pre-first-byte retry attempts (<= timeouts.total, starts at request arrival) retry_statuses = [402, 404, 429, 500, 502, 503, 504] # non_idempotent_retry_statuses = [402, 404, 429, 503] # optional narrower status list for POST/PUT/PATCH/DELETE (avoids replaying in-doubt 500/502/504 after upstream acceptance) # respect_idempotency_key = false # set true only when upstreams share a deduplication ledger for Idempotency-Key / X-Idempotency-Key max_body_bytes = 67108864 # 64 MiB max replayable request body for thin-l7 status rerouting / stale-socket retry [metrics] enabled = true bind = "0.0.0.0:9106"