]> git.donarmstrong.com Git - dsa-puppet.git/blob - modules/exim/manifests/init.pp
Add new exim.conf template and ship it to handel for now
[dsa-puppet.git] / modules / exim / manifests / init.pp
1 class exim {
2
3     package { exim4-daemon-heavy: ensure => installed }
4
5     case $hostname {
6          handel: {
7              file {
8                 "/etc/exim4/exim4.conf":
9                   content => template("exim/eximconf.erb"),
10                   require => Package["exim4-daemon-heavy"],
11                   notify  => Exec["exim4 reload"]
12                   ;
13              }
14          }
15          default: {
16              file {
17                 "/etc/exim4/exim4.conf":
18                   source  => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
19                                "puppet:///exim/common/exim4.conf" ],
20                   require => Package["exim4-daemon-heavy"],
21                   notify  => Exec["exim4 reload"]
22                   ;
23              }
24          }
25     }
26     file {
27         "/etc/exim4/":
28           ensure  => directory,
29           owner   => root,
30           group   => root,
31           mode    => 755,
32           purge   => true
33         ;
34         "/etc/exim4/ssl":
35           ensure  => directory,
36           owner   => root,
37           group   => Debian-exim,
38           mode    => 750,
39           purge   => true
40         ;
41         "/etc/exim4/exim4.conf":
42           source  => [ "puppet:///exim/per-host/$fqdn/exim4.conf",
43                        "puppet:///exim/common/exim4.conf" ],
44           require => Package["exim4-daemon-heavy"],
45           notify  => Exec["exim4 reload"]
46           ;
47         "/etc/exim4/manualroute":
48           require => Package["exim4-daemon-heavy"],
49           source  => [ "puppet:///exim/per-host/$fqdn/manualroute",
50                        "puppet:///exim/common/manualroute" ]
51           ;
52         "/etc/exim4/blacklist":
53           require => Package["exim4-daemon-heavy"],
54           source  => [ "puppet:///exim/per-host/$fqdn/blacklist",
55                        "puppet:///exim/common/blacklist" ]
56           ;
57         "/etc/exim4/callout_users":
58           require => Package["exim4-daemon-heavy"],
59           source  => [ "puppet:///exim/per-host/$fqdn/callout_users",
60                        "puppet:///exim/common/callout_users" ]
61           ;
62         "/etc/exim4/grey_users":
63           require => Package["exim4-daemon-heavy"],
64           source  => [ "puppet:///exim/per-host/$fqdn/grey_users",
65                        "puppet:///exim/common/grey_users" ]
66           ;
67         "/etc/exim4/helo-check":
68           require => Package["exim4-daemon-heavy"],
69           source  => [ "puppet:///exim/per-host/$fqdn/helo-check",
70                        "puppet:///exim/common/helo-check" ]
71           ;
72         "/etc/exim4/locals":
73           require => Package["exim4-daemon-heavy"],
74           content => template("exim/locals.erb")
75           ;
76         "/etc/exim4/localusers":
77           require => Package["exim4-daemon-heavy"],
78           source  => [ "puppet:///exim/per-host/$fqdn/localusers",
79                        "puppet:///exim/common/localusers" ]
80           ;
81         "/etc/exim4/rbllist":
82           require => Package["exim4-daemon-heavy"],
83           source  => [ "puppet:///exim/per-host/$fqdn/rbllist",
84                        "puppet:///exim/common/rbllist" ]
85           ;
86         "/etc/exim4/rcpthosts":
87           require => Package["exim4-daemon-heavy"],
88           source  => [ "puppet:///exim/per-host/$fqdn/rcpthosts",
89                        "puppet:///exim/common/rcpthosts" ]
90           ;
91         "/etc/exim4/rhsbllist":
92           require => Package["exim4-daemon-heavy"],
93           source  => [ "puppet:///exim/per-host/$fqdn/rhsbllist",
94                        "puppet:///exim/common/rhsbllist" ]
95           ;
96         "/etc/exim4/virtualdomains":
97           require => Package["exim4-daemon-heavy"],
98           content => template("exim/virtualdomains.erb")
99           ;
100         "/etc/exim4/whitelist":
101           require => Package["exim4-daemon-heavy"],
102           source  => [ "puppet:///exim/per-host/$fqdn/whitelist",
103                        "puppet:///exim/common/whitelist" ]
104           ;
105         "/etc/logrotate.d/exim4-base":
106           require => Package["exim4-daemon-heavy"],
107           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-base",
108                        "puppet:///exim/common/logrotate-exim4-base" ]
109           ;
110         "/etc/logrotate.d/exim4-paniclog":
111           require => Package["exim4-daemon-heavy"],
112           source  => [ "puppet:///exim/per-host/$fqdn/logrotate-exim4-paniclog",
113                        "puppet:///exim/common/logrotate-exim4-paniclog" ]
114           ;
115         "/etc/exim4/local-settings.conf":
116           require => Package["exim4-daemon-heavy"],
117           source  => [ "puppet:///exim/per-host/$fqdn/local-settings.conf",
118                        "puppet:///exim/common/local-settings.conf" ],
119           notify  => Exec["exim4 reload"]
120           ;
121         "/etc/exim4/local-auto.conf":
122           require => Package["exim4-daemon-heavy"],
123           content => template("exim-local-auto.erb"),
124           notify  => Exec["exim4 reload"]
125           ;
126         "/etc/exim4/ssl/thishost.crt":
127           require => Package["exim4-daemon-heavy"],
128           source  => "puppet:///exim/certs/$fqdn.crt",
129           owner   => root,
130           group   => Debian-exim,
131           mode    => 640
132           ;
133         "/etc/exim4/ssl/thishost.key":
134           require => Package["exim4-daemon-heavy"],
135           source  => "puppet:///exim/certs/$fqdn.key",
136           owner   => root,
137           group   => Debian-exim,
138           mode    => 640
139           ;
140         "/etc/exim4/ssl/ca.crt":
141           require => Package["exim4-daemon-heavy"],
142           source  => "puppet:///exim/certs/ca.crt",
143           owner   => root,
144           group   => Debian-exim,
145           mode    => 640
146           ;
147         "/etc/exim4/ssl/ca.crl":
148           require => Package["exim4-daemon-heavy"],
149           source  => "puppet:///exim/certs/ca.crl",
150           owner   => root,
151           group   => Debian-exim,
152           mode    => 640
153           ;
154     }
155
156     exec { "exim4 reload":
157         path        => "/etc/init.d:/usr/bin:/usr/sbin:/bin:/sbin",
158         refreshonly => true,
159     }
160 }
161
162 class eximmx inherits exim {
163     include clamav
164     include postgrey
165 }