summaryrefslogtreecommitdiff
path: root/global/overlay/etc/puppet/modules/sunet/manifests/etcd_node.pp
blob: e9ae803fb53232d3573f2db784f1f384b0ac6682 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
define sunet::etcd_node(
   $disco_url    =   undef,
   $etcd_version =   'v2.0.8'
) 
{
   file { ["/data","/data/${name}","/data/${name}/${::hostname}"]: ensure => 'directory' }
   sunet::docker_run { "etcd_${name}":
      image            => 'quay.io/coreos/etcd',
      imagetag         => $etcd_version,
      volumes          => ["/data/${name}:/var/lib/etcd","/etc/ssl:/etc/ssl"],
      command          => "--initial-advertise-peer-urls http://${::ipaddress_eth1}:2380 --advertise-client-urls http://${::ipaddress_eth1}:2379 --listen-peer-urls http://0.0.0.0:2380 --listen-client-urls http://0.0.0.0:2379 --discovery ${disco_url} --name ${::hostname} --key-file /etc/ssl/private/${::fqdn}_infra.key --peer-key-file /etc/ssl/private/${::fqdn}_infra.key --ca-file /etc/ssl/certs/infra.crt --peer-ca-file /etc/ssl/certs/infra.crt --cert-file /etc/ssl/certs/${::fqdn}_infra.crt --peer-cert-file /etc/ssl/certs/${::fqdn}_infra.crt",
      ports            => ["${::ipaddress_eth1}:2380:2380","${::ipaddress_eth1}:2379:2379"]
   }
   ufw::allow { "allow-etcd-peer":
      ip   => "${::ipaddress_eth1}",
      port => 2380
   }
   ufw::allow { "allow-etcd-client":
      ip   => "${::ipaddress_eth1}",
      port => 2379
   }
}