aboutsummaryrefslogtreecommitdiff
path: root/personal_infra/puppet/modules
diff options
context:
space:
mode:
Diffstat (limited to 'personal_infra/puppet/modules')
m---------personal_infra/puppet/modules/mailalias_core0
-rw-r--r--personal_infra/puppet/modules/root_mail/manifests/init.pp35
2 files changed, 35 insertions, 0 deletions
diff --git a/personal_infra/puppet/modules/mailalias_core b/personal_infra/puppet/modules/mailalias_core
new file mode 160000
+Subproject e6230faf076a5ed7b474ed67a4c6c0802d0b7b5
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 00000000..9faa883e
--- /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']
+}