YAML Format
TOML Format
All Options
Listener
Algorithm
Options:
round-robin, least-connections, ip-hash, random, weighted, power-of-two, fastest-response
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Complete YAML and TOML configuration reference
listen_address: "0.0.0.0"
listen_port: 8080
algorithm: "round-robin"
workers: "auto"
max_connections: 10000
backends:
- host: "192.168.1.10"
port: 8080
weight: 100
max_connections: 1000
- host: "192.168.1.11"
port: 8080
weight: 150
max_connections: 1500
listen_address = "0.0.0.0"
listen_port = 8080
algorithm = "round-robin"
workers = "auto"
max_connections = 10000
[[backends]]
host = "192.168.1.10"
port = 8080
weight = 100
[[backends]]
host = "192.168.1.11"
port = 8080
weight = 150
| Option | Type | Default |
|---|---|---|
listen_address | string | "0.0.0.0" |
listen_port | integer | 8080 |
workers | string/int | "auto" |
max_connections | integer | 10000 |
| Option | Type | Default |
|---|---|---|
algorithm | string | "round-robin" |
round-robin, least-connections, ip-hash, random, weighted, power-of-two, fastest-response
| Option | Type | Default |
|---|---|---|
host | string | required |
port | integer | required |
weight | integer | 100 |
max_connections | integer | 1000 |
health_check:
enabled: true
interval_ms: 5000
timeout_ms: 2000
max_failures: 3
path: "/health"
health_check:
circuit_breaker:
enabled: true
failure_threshold: 5
success_threshold: 2
timeout_seconds: 60
cache:
enabled: true
max_size: 10000
default_ttl_seconds: 300
compression:
enabled: true
algorithm: "gzip" # gzip, brotli, zstd
min_size: 1024
rate_limit:
enabled: true
requests_per_second: 10000
per_ip_rps: 100
burst: 50
ip_filter:
whitelist:
- "10.0.0.0/8"
blacklist:
- "192.168.1.100"
sticky_sessions:
enabled: true
cookie_name: "ULTRABALANCER_SESSION"
ttl_seconds: 3600
retry:
enabled: true
max_attempts: 3
backoff_ms: 100
max_backoff_ms: 5000
access_log:
enabled: true
path: "/var/log/ultrabalancer/access.log"
format: "json" # or "combined"
tls:
enabled: true
cert_path: "/etc/ultrabalancer/cert.pem"
key_path: "/etc/ultrabalancer/key.pem"
min_version: "1.2"
logging:
level: "info" # trace, debug, info, warn, error
format: "text" # or "json"
output: "stdout" # or file path
metrics:
enabled: true
endpoint: "/metrics"
prometheus_endpoint: "/prometheus"
listen_port: ${LISTEN_PORT}
backends:
- host: "${BACKEND_HOST}"
port: ${BACKEND_PORT}
ultrabalancer validate -c config.yaml