summaryrefslogtreecommitdiffstats
path: root/roles/openshift_loadbalancer/templates
diff options
context:
space:
mode:
authorAndrew Butcher <abutcher@redhat.com>2016-05-16 11:45:32 -0400
committerAndrew Butcher <abutcher@redhat.com>2016-05-26 13:45:09 -0400
commit57abf26c30e306d1527e92a61a94088e542bb006 (patch)
treeab2f4d9f5e675e9e02ff05a22412878b5f9b9550 /roles/openshift_loadbalancer/templates
parent643b9b30066f0130f35e9ce7b1a8a7c24a244cc7 (diff)
downloadopenshift-57abf26c30e306d1527e92a61a94088e542bb006.tar.gz
openshift-57abf26c30e306d1527e92a61a94088e542bb006.tar.bz2
openshift-57abf26c30e306d1527e92a61a94088e542bb006.tar.xz
openshift-57abf26c30e306d1527e92a61a94088e542bb006.zip
Separate master and haproxy config playbooks.
* Move haproxy configuration to a separate openshift-loadbalancer play. * Move the haproxy role to openshift_loadbalancer. * Add openshift_loadbalancer* facts which drive haproxy configuration.
Diffstat (limited to 'roles/openshift_loadbalancer/templates')
-rw-r--r--roles/openshift_loadbalancer/templates/haproxy.cfg.j276
1 files changed, 76 insertions, 0 deletions
diff --git a/roles/openshift_loadbalancer/templates/haproxy.cfg.j2 b/roles/openshift_loadbalancer/templates/haproxy.cfg.j2
new file mode 100644
index 000000000..05e360d3b
--- /dev/null
+++ b/roles/openshift_loadbalancer/templates/haproxy.cfg.j2
@@ -0,0 +1,76 @@
+# Global settings
+#---------------------------------------------------------------------
+global
+ chroot /var/lib/haproxy
+ pidfile /var/run/haproxy.pid
+ maxconn {{ openshift.loadbalancer.global_maxconn }}
+ user haproxy
+ group haproxy
+ daemon
+
+ # turn on stats unix socket
+ stats socket /var/lib/haproxy/stats
+
+#---------------------------------------------------------------------
+# 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 }}
+
+listen stats :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 %}