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