From 6514c5bdfd75a0e7e7af305f61018f7b857448c7 Mon Sep 17 00:00:00 2001 From: alex Date: Sat, 28 Jan 2023 17:34:20 +0100 Subject: [PATCH] Add module to configure root mail --- .gitmodules | 3 ++ personal_infra/puppet/modules/mailalias_core | 1 + .../modules/root_mail/manifests/init.pp | 35 +++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 .gitmodules create mode 160000 personal_infra/puppet/modules/mailalias_core create mode 100644 personal_infra/puppet/modules/root_mail/manifests/init.pp diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..9706b66 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "personal_infra/puppet/modules/mailalias_core"] + path = personal_infra/puppet/modules/mailalias_core + url = https://github.com/puppetlabs/puppetlabs-mailalias_core.git diff --git a/personal_infra/puppet/modules/mailalias_core b/personal_infra/puppet/modules/mailalias_core new file mode 160000 index 0000000..e6230fa --- /dev/null +++ b/personal_infra/puppet/modules/mailalias_core @@ -0,0 +1 @@ +Subproject commit e6230faf076a5ed7b474ed67a4c6c0802d0b7b55 diff --git a/personal_infra/puppet/modules/root_mail/manifests/init.pp b/personal_infra/puppet/modules/root_mail/manifests/init.pp new file mode 100644 index 0000000..9faa883 --- /dev/null +++ b/personal_infra/puppet/modules/root_mail/manifests/init.pp @@ -0,0 +1,35 @@ +class root_mail { + package {'postfix':} + -> + service {'postfix': + ensure => running, + enable => true, + } + + # if crond doesn't see /usr/bin/sendmail on startup, it won't send mails + Package['postfix'] + ~> + service{"crond": + ensure => running, + } + + if($facts['os']['family'] == 'RedHat') { + if($facts['os']['release']['major'] == '9') { + package {'s-nail':} + } + else { + package {'mailx':} + } + } + + mailalias {'root': + recipient => lookup('mail.root_mail'), + require => Package['postfix'], + } + ~> + exec {'/usr/sbin/postalias /etc/aliases': + creates => '/etc/aliases.db', + } + ~> + Service['postfix'] +} -- 2.47.3