# TCP Timeouts
#
# TCP proxy with session and max duration timeouts.
# `tcp_session_timeout_ms` wraps the entire TCP
# forwarding session in a hard deadline, terminating
# connections after the threshold regardless of
# activity. `tcp_max_duration_secs` caps the total
# session duration in seconds.
#
# Both are optional. Without them, TCP sessions run
# until either side closes the connection.
#
#   Client -> TCP -> Praxis :5432 -> TCP -> PostgreSQL :15432
#
# Usage:
#   cargo run -p praxis-proxy -- -c examples/configs/protocols/tcp-timeouts.yaml

insecure_options:
  allow_private_upstreams: true

listeners:
  - name: postgres
    address: "127.0.0.1:5432"
    protocol: tcp
    upstream: "127.0.0.1:15432"
    tcp_session_timeout_ms: 300000 # 5 minutes
    tcp_max_duration_secs: 3600 # 1 hour
