summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules3
m---------personal_infra/puppet/modules/mailalias_core0
-rw-r--r--personal_infra/puppet/modules/root_mail/manifests/init.pp35
3 files changed, 38 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 00000000..9706b668
--- /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
+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']
+}