#---------------------------------------------------------------------
# Example configuration for a possible web application.  See the
# full configuration options online.
#
#   https://www.haproxy.org/download/1.8/doc/configuration.txt
#
#---------------------------------------------------------------------

#---------------------------------------------------------------------
# Global settings
#---------------------------------------------------------------------
global
    # to have these messages end up in /var/log/haproxy.log you will
    # need to:
    #
    # 1) configure syslog to accept network log events.  This is done
    #    by adding the '-r' option to the SYSLOGD_OPTIONS in
    #    /etc/sysconfig/syslog
    #
    # 2) configure local2 events to go to the /var/log/haproxy.log
    #   file. A line like the following can be added to
    #   /etc/sysconfig/syslog
    #
    #    local2.*                       /var/log/haproxy.log
    #
    log         127.0.0.1 local2

    chroot      /var/lib/haproxy
    pidfile     /var/run/haproxy.pid
    maxconn     4000
    user        haproxy
    group       haproxy
    daemon

    # turn on stats unix socket
    stats socket /var/lib/haproxy/stats

    # utilize system-wide crypto-policies
    ssl-default-bind-ciphers PROFILE=SYSTEM
    ssl-default-server-ciphers PROFILE=SYSTEM

#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------

resolvers libvirt-dns
    nameserver      dns1 192.168.126.1:53
    resolve_retries 3
    timeout retry   1s
    hold other      30s
    hold refused    30s
    hold nx         30s
    hold timeout    30s
    hold valid      10s

defaults
    mode                     tcp
    log                      global
    option                   tcplog
    option                   dontlognull
    option http-server-close
    option                   redispatch
    retries                  3
    timeout http-request     10s
    timeout queue            1m
    timeout connect          10s
    timeout client           1m
    timeout server           1m
    timeout http-keep-alive  10s
    timeout check            10s
    maxconn                  3000
    default-server init-addr none

listen console
    bind *:443
    server worker-0 console-openshift-console.apps.test-1.tt.testing:443 resolvers libvirt-dns check

listen api
    bind *:6443
    server master-0 api.test-1.tt.testing:6443 resolvers libvirt-dns check

# TODO: this hardcode values should be filled on runtime
listen ssh-master
    bind *:2201
    server master-0 192.168.126.11:22 check

listen ssh-worker
    bind *:2202
    server worker-0 192.168.126.51:22 check
