mirror of
https://github.com/mrvasil/ctf-ad-mirror-tool-rust.git
synced 2026-10-23 14:31:02 +00:00
55 lines
1.3 KiB
TOML
55 lines
1.3 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.
|
|
[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"
|