]> WPIA git - infra.git/blob - environments/production/manifests/site.pp
initial import
[infra.git] / environments / production / manifests / site.pp
1 node  cassiopeia {
2   include container::contained
3 if $signerLocation == 'self' {
4   include container::no_ssh
5 } else {
6   include container::ssh
7 }
8   class{'apt':}
9   apt_key{ 'E643C483A426BB5311D26520A631B6AF9FD3DF94':
10     source => 'http://deb.dogcraft.de/signer.gpg',
11     ensure => 'present'
12   } ->
13   file { '/etc/apt/sources.list.d/dogcraft.list':
14     source => 'puppet:///modules/lxc/dogcraft.list',
15     ensure => 'present',
16     notify => Exec['apt_update']
17   } ->
18   package { 'cacert-cassiopeia-signer':
19     ensure => 'installed',
20     require => Exec['apt_update']
21   }
22 if $signerLocation == 'self' {
23   package { 'tcpserial':
24     ensure => 'installed',
25     require => Exec['apt_update']
26   }
27   $cass_ip='';
28   file {'/etc/systemd/system/tcpserial.service':
29     ensure => 'file',
30     content => epp('gigi/tcpserial'),
31     require => Package['tcpserial']
32   }->
33   service{'tcpserial.service':
34     ensure => 'running',
35     provider => 'systemd',
36     before => Service['cassiopeia-signer.service']
37   }
38 } elsif  $signerLocation == '/dev/ttyS0' {
39   exec {'/bin/mknod /dev/ttyS0 c 4 64':
40     creates => "/dev/ttyS0",
41     before => Service['cassiopeia-signer.service']
42   }
43 } else {
44   fail("unknown signerLocation")
45 }
46   file {'/var/lib/cassiopeia/':
47     ensure => 'directory',
48   }->
49   exec {'/usr/bin/openssl dhparam -out dh_param.pem 2048':
50     timeout => '0',
51     creates => '/var/lib/cassiopeia/dh_param.pem',
52     cwd => '/var/lib/cassiopeia/',
53     require => File['/var/lib/cassiopeia/']
54   } # TODO: make this unneded and fix cassiopeia dh-param-generation
55
56   file {'/var/lib/cassiopeia/logs':
57     ensure => 'directory',
58   }
59
60   file {'/var/lib/cassiopeia/profiles':
61     ensure => 'directory',
62     source => 'puppet:///modules/cassiopeia_signer/profiles',
63     recurse => true,
64     purge => true
65   }
66   file {'/var/lib/cassiopeia/ca':
67     ensure => 'directory',
68     source => 'puppet:///modules/cassiopeia_signer/ca',
69     recurse => true,
70   }
71
72   file {'/var/lib/cassiopeia/keys':
73     ensure => 'directory',
74     require => File['/var/lib/cassiopeia/']
75   }
76   file {'/var/lib/cassiopeia/keys/ca.crt':
77     ensure => 'file',
78     source => 'puppet:///modules/cassiopeia/ca.crt',
79   }
80   file {'/var/lib/cassiopeia/keys/signer_server.crt':
81     ensure => 'file',
82     source => 'puppet:///modules/cassiopeia/signer_server.crt',
83   }
84   file {'/var/lib/cassiopeia/keys/signer_server.key':
85     ensure => 'file',
86     source => 'puppet:///modules/cassiopeia/signer_server.key',
87   }
88   $gigi_pg_ip=""
89   $gigi_pg_password=""
90   file {'/var/lib/cassiopeia/config.txt':
91     ensure => 'file',
92     content => epp('gigi/cassiopeia-client-conf'),
93   }
94
95   file {'/etc/systemd/system/cassiopeia-signer.service':
96     ensure => 'file',
97     source => 'puppet:///modules/gigi/cassiopeia-signer.service',
98   }->
99   service{'cassiopeia-signer.service':
100     ensure => 'running',
101     provider => 'systemd',
102     require => [Exec['/usr/bin/openssl dhparam -out dh_param.pem 2048'],
103                 Package['cacert-cassiopeia-signer'],
104                 File['/var/lib/cassiopeia/logs'],
105                 File['/var/lib/cassiopeia/profiles'],
106                 File['/var/lib/cassiopeia/ca'],
107                 File['/var/lib/cassiopeia/config.txt'],
108                 File['/var/lib/cassiopeia/keys/ca.crt'],
109                 File['/var/lib/cassiopeia/keys/signer_server.crt'],
110                 File['/var/lib/cassiopeia/keys/signer_server.key']]
111   }
112
113 }
114
115
116 node exim{
117   include container::contained;
118   include container::no_ssh;
119
120   package{ 'exim4-daemon-light':
121     ensure => 'installed'
122   }
123 }