summaryrefslogtreecommitdiff
path: root/tests/init.pp
blob: f27f809bf5b4b9e7d5dbd69bc71ac7052f3da3cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# Declare haproxy base class with configuration options
class { 'haproxy':
  enable                   => true,
  haproxy_global_options   => {'log'      => "${::ipaddress} local0",
                                'chroot'  => '/var/lib/haproxy',
                                'pidfile' => '/var/run/haproxy.pid',
                                'maxconn' => '4000',
                                'user'    => 'haproxy',
                                'group'   => 'haproxy',
                                'daemon'  => '',
                                'stats'   => 'socket /var/lib/haproxy/stats'
                              },
  haproxy_defaults_options => {'log'      => 'global',
                                'stats'   => 'enable',
                                'option'  => 'redispatch',
                                'retries' => '3',
                                'timeout' => ['http-request 10s',
                                'queue 1m',
                                'connect 10s',
                                'client 1m',
                                'server 1m',
                                'check 10s'],
                                'maxconn' => '8000'
                              },
}

# Export a balancermember server, note that the listening_service parameter
#  will/must correlate with an haproxy::config defined resource type.
@@haproxy::balancermember { $fqdn:
  order                  => '21',
  listening_service      => 'puppet00',
  server_name            => $::hostname,
  balancer_ip            => $::ipaddress,
  balancer_port          => '8140',
  balancermember_options => 'check'
}

# Declare a couple of Listening Services for haproxy.cfg
#  Note that the balancermember server resources are being collected in
#  the haproxy::config defined resource type with the following line:
#  Haproxy::Balancermember <<| listening_service == $name |>>
haproxy::config { 'puppet00':
  order                  => '20',
  virtual_ip             => $::ipaddress,
  virtual_ip_port        => '18140',
  haproxy_config_options => {
    'option' => ['tcplog', 'ssl-hello-chk'], 'balance' => 'roundrobin' },
}
haproxy::config { 'stats':
  order                  => '30',
  virtual_ip             => '',
  virtual_ip_port        => '9090',
  haproxy_config_options => { 'mode'  => 'http',
                              'stats' => ['uri /', 'auth puppet:puppet']
  },
}