# /etc/haproxy/haproxy.cfg 

global
        log /dev/log    local0
        log /dev/log    local1 notice
        #chroot /var/lib/haproxy
        #stats socket /run/haproxy/admin.sock mode 660 level admin
        stats timeout 30s
        user haproxy
        group haproxy
        daemon

        # Default SSL material locations
        #ca-base /etc/ssl/certs
        #crt-base /etc/ssl/private

        # See: https://ssl-config.mozilla.org/#server=haproxy&server-version=2.0.3&config=intermediate
        #ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
        #ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
        #ssl-default-bind-options ssl-min-ver TLSv1.2 no-tls-tickets

defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000
        #errorfile 400 /etc/haproxy/errors/400.http
        #errorfile 403 /etc/haproxy/errors/403.http
        #errorfile 408 /etc/haproxy/errors/408.http
        #errorfile 500 /etc/haproxy/errors/500.http
        #errorfile 502 /etc/haproxy/errors/502.http
        #errorfile 503 /etc/haproxy/errors/503.http
        #errorfile 504 /etc/haproxy/errors/504.http

listen highbyte_gui
        bind :45245
        mode http

        option httpchk GET /v1/info

        server primary host.docker.internal:45246 check
        server backup host.docker.internal:45247 check backup

listen highbyte_REST
        bind :8885
        mode http

        option httpchk GET /data/doc/index.html

        server primary host.docker.internal:8886 check
        server backup host.docker.internal:8887 check backup

listen highbyte_MQTT
        bind :1885
        mode tcp

        option tcplog

        server primary host.docker.internal:1887 check
        server backup host.docker.internal:1889 check backup

# listen highbyte_MCP
        # bind :45345
        # mode http

        # option httpchk GET /mcp

        # server primary mainHub:45345 check
        # server backup backupHub:45345 check backup

# listen highbyte_webhook
        # bind :9001
        # mode http

        # # Send an empty POST request to "/"
        # option httpchk
        # http-check send meth POST uri / ver HTTP/1.1 hdr Host localhost
        # http-check expect status 200

        # server primary mainHub:9001 check
        # server backup backupHub:9001 check backup
