--- /dev/null
+---
+- apt_repository: repo=ppa:vbernat/haproxy-1.5 state=present
+
+- apt: name={{item}} state=present
+ with_items:
+ - haproxy
+ - socat
+
+- copy: src=precise/haproxy dest=/etc/default/haproxy
+ notify: restart haproxy
+
+- template: src=precise/haproxy.cfg dest=/etc/haproxy/haproxy.cfg backup=yes
+ notify: restart haproxy
+
+- service: name=haproxy state=started enabled=yes
--- /dev/null
+#
+# {{ ansible_managed }}
+#
+global
+ log /dev/log local0
+ log /dev/log local1 notice
+ chroot /var/lib/haproxy
+ user haproxy
+ group haproxy
+ daemon
+ stats socket /var/lib/haproxy/stats level admin
+
+defaults
+ log global
+ mode http
+ option httplog
+ option dontlognull
+ contimeout 5000
+ clitimeout 50000
+ srvtimeout 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
+
+frontend http_frontend
+ bind *:80
+ mode http
+ option httpclose
+ option forwardfor
+ default_backend web_server
+
+frontend https_frontend
+ bind *:443 ssl crt /etc/ceph/radosgw-key-cert.pem
+ mode http
+ option httpclose
+ option forwardfor
+ reqadd X-Forwarded-Proto:\ https
+ default_backend web_server
+
+backend web_server
+ mode http
+ balance roundrobin
+ cookie RADOSGWLB insert indirect nocache
+{% for host in groups['rgws'] %}
+ server {{ hostvars[host].ansible_hostname }} {{ hostvars[host]['ansible_eth0'].ipv4.address }}:80 check cookie {{ hostvars[host].ansible_hostname }}
+{% endfor %}
+
+listen stats :8080
+ mode http
+ stats enable
+ stats hide-version
+ stats realm Haproxy\ Statistics
+ stats uri /
+#stats auth Username:Password