mirror of https://github.com/ceph/ceph-ansible.git
Initial add of haproxy example for fronting a number of radosgw's
parent
382ed13a08
commit
ecdd54d6f9
|
@ -0,0 +1,4 @@
|
|||
# Set ENABLED to 1 if you want the init script to start haproxy.
|
||||
ENABLED=1
|
||||
# Add extra flags here.
|
||||
#EXTRAOPTS="-de -m 16"
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
## Check distribution release
|
||||
#
|
||||
|
||||
- include: precise.yml
|
||||
when: ansible_distribution == 'precise'
|
|
@ -0,0 +1,3 @@
|
|||
---
|
||||
- name: restart haproxy
|
||||
service: name=haproxy state=restarted
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
## Check distribution release
|
||||
#
|
||||
|
||||
- include: precise.yml
|
||||
when: ansible_distribution == 'precise'
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
- 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
|
|
@ -0,0 +1,58 @@
|
|||
#
|
||||
# {{ 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
|
Loading…
Reference in New Issue