ctf-ad-mirror-tool-rust/mirror.example.toml

58 lines
1.4 KiB
TOML

# Copy to mirror.toml. Set MIRROR_PASSWORD in your environment (12+ characters).
# Bind the panel to a VPN interface or put it behind HTTPS when used remotely.
# Optional: own team's checker status in the top strip, as in the legacy UI.
# main_team_ip = "192.0.2.10"
[web]
listen = "127.0.0.1:6700"
password_env = "MIRROR_PASSWORD"
state_file = "data/state.json"
session_ttl_seconds = 43200
secure_cookie = false # true behind HTTPS
[network]
connect_timeout_ms = 2000
buffer_size = 65536
replica_queue_chunks = 16
max_buffered_bytes = 268435456 # global shared payload budget for all replica queues
max_connections = 2048
drain_timeout_ms = 15000
[monitoring]
interval_ms = 3000
timeout_ms = 1000
failure_threshold = 2
recovery_threshold = 2
cooldown_ms = 30000
concurrency = 32
# Optional. ForcAD uses a persistent Engine.IO v4 connection; adplatf uses /state.
# [scoreboard]
# kind = "forcad"
# url = "http://scoreboard.example:8080"
# poll_interval_ms = 3000
# stale_after_ms = 15000
[[teams]]
id = "team-a"
name = "Team A"
address = "192.0.2.10"
[[teams]]
id = "team-b"
name = "Team B"
address = "192.0.2.11"
[[services]]
id = "notes"
name = "Notes"
listen = "0.0.0.0:18080"
upstream_port = 8080
primary = "team-a"
replicas = ["team-b"]
enabled = false
auto_switch = false
# isolate: primary stays fast; explicitly disconnect a slow/failed replica.
# strict: backpressure to deliver all bytes to each healthy replica.
replica_policy = "isolate"