blob: 823f012af72599baae5d0af7c347cf5014689a3c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# Global settings
#---------------------------------------------------------------------
global
maxconn {{ openshift_loadbalancer_global_maxconn | default(20000) }}
log /dev/log local0 info
{% if openshift_is_containerized | bool %}
stats socket /var/lib/haproxy/run/haproxy.sock mode 600 level admin
{% else %}
chroot /var/lib/haproxy
pidfile /var/run/haproxy.pid
user haproxy
group haproxy
daemon
# turn on stats unix socket
stats socket /var/lib/haproxy/stats
{% endif %}
#---------------------------------------------------------------------
# common defaults that all the 'listen' and 'backend' sections will
# use if not designated in their block
#---------------------------------------------------------------------
defaults
mode http
log global
option httplog
option dontlognull
# option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 300s
timeout server 300s
timeout http-keep-alive 10s
timeout check 10s
maxconn {{ openshift_loadbalancer_default_maxconn | default(20000) }}
listen stats
bind :9000
mode http
stats enable
stats uri /
{% for frontend in openshift_loadbalancer_frontends %}
frontend {{ frontend.name }}
{% for bind in frontend.binds %}
bind {{ bind }}
{% endfor %}
default_backend {{ frontend.default_backend }}
{% if 'mode' in frontend %}
mode {{ frontend.mode }}
{% endif %}
{% if 'options' in frontend %}
{% for option in frontend.options %}
option {{ option }}
{% endfor %}
{% endif %}
{% if 'redirects' in frontend %}
{% for redirect in frontend.redirects %}
redirect {{ redirect }}
{% endfor %}
{% endif %}
{% endfor %}
{% for backend in openshift_loadbalancer_backends %}
backend {{ backend.name }}
balance {{ backend.balance }}
{% if 'mode' in backend %}
mode {{ backend.mode }}
{% endif %}
{% if 'options' in backend %}
{% for option in backend.options %}
option {{ option }}
{% endfor %}
{% endif %}
{% for server in backend.servers %}
server {{ server.name }} {{ server.address }} {{ server.opts }}
{% endfor %}
{% endfor %}
|