diff options
Diffstat (limited to 'puppet/modules/site_haproxy')
-rw-r--r-- | puppet/modules/site_haproxy/manifests/init.pp | 9 | ||||
-rw-r--r-- | puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb | 23 |
2 files changed, 32 insertions, 0 deletions
diff --git a/puppet/modules/site_haproxy/manifests/init.pp b/puppet/modules/site_haproxy/manifests/init.pp index 1a681373..6bcf3f5c 100644 --- a/puppet/modules/site_haproxy/manifests/init.pp +++ b/puppet/modules/site_haproxy/manifests/init.pp @@ -1,4 +1,5 @@ class site_haproxy { + $haproxy = hiera('haproxy') class { 'haproxy': enable => true, @@ -28,5 +29,13 @@ class site_haproxy { order => '90', source => 'puppet:///modules/site_haproxy/haproxy-stats.cfg'; } + + # Template uses $haproxy + concat::fragment { 'leap_haproxy_webapp_couchdb': + target => '/etc/haproxy/haproxy.cfg', + order => '20', + content => template('site_haproxy/haproxy_couchdb.cfg.erb'), + } + include site_check_mk::agent::haproxy } diff --git a/puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb b/puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb new file mode 100644 index 00000000..1fa01b96 --- /dev/null +++ b/puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb @@ -0,0 +1,23 @@ + +listen bigcouch-in + mode http + balance roundrobin + option httplog + option dontlognull + option httpchk GET / # health check using simple get to root + option http-server-close # use client keep-alive, but close server connection. + option allbackups # balance among all backups, not just one. + + bind localhost:4096 + + default-server inter 3000 fastinter 1000 downinter 1000 rise 2 fall 1 + +<%- if @haproxy['servers'] -%> +<%- @haproxy['servers'].sort.each do |name,server| -%> +<%- backup = server['backup'] ? 'backup' : '' -%> + # <%=name%> + server couchdb_<%=server['port']%> <%=server['host']%>:<%=server['port']%> <%=backup%> weight <%=server['weight']%> check + +<%- end -%> +<%- end -%> + |