summaryrefslogtreecommitdiff
path: root/puppet/modules/site_haproxy
diff options
context:
space:
mode:
Diffstat (limited to 'puppet/modules/site_haproxy')
-rw-r--r--puppet/modules/site_haproxy/manifests/init.pp9
-rw-r--r--puppet/modules/site_haproxy/templates/haproxy_couchdb.cfg.erb23
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 -%>
+