diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/init.pp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..ebaeda3 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,70 @@ +# This module is distributed under the GNU Affero General Public License: +# +# Exim module for puppet +# Copyright (C) 2009 Sarava Group +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +class exim { + package { "exim4": + ensure => present, + } + + service { "exim4": + ensure => running, + require => Package["exim4"], + } + + file { "/etc/aliases": + source => "puppet://$servername/files/etc/aliases", + owner => "root", + group => "root", + mode => 0644, + ensure => present, + } + + file { "/etc/exim4/update-exim4.conf.conf": + owner => "root", + group => "root", + mode => 0644, + ensure => present, + content => template('exim/update-exim4.conf.conf.erb'), + } + + file { "/etc/mailname": + owner => "root", + group => "root", + mode => 0644, + ensure => present, + content => "$fqdn\n", + } + + # Rebuild alias database + exec { "newaliases": + path => ["/usr/bin", "/usr/sbin"], + subscribe => File["/etc/aliases"], + refreshonly => true, + require => Service["exim4"], + } + + # Rebuild exim config + exec { "update-exim4.conf": + command => "/usr/sbin/update-exim4.conf", + returns => "0", + subscribe => File["/etc/exim4/update-exim4.conf.conf", "/etc/mailname"], + refreshonly => true, + notify => Service["exim4"], + } + +} |