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