summaryrefslogtreecommitdiffstats
path: root/modules/cron
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2020-06-15 02:51:02 -0400
committerJesse Luehrs <doy@tozt.net>2020-06-15 03:06:50 -0400
commit2a4e73e06824a6d313c2e2b1282035b6e790620d (patch)
tree6b5a03dfbdc067e7ee893d2e6c0ac3fa9369c9eb /modules/cron
parent3be9b066111bdaa743051112acebb6af73210e0a (diff)
downloadpuppet-tozt-2a4e73e06824a6d313c2e2b1282035b6e790620d.tar.gz
puppet-tozt-2a4e73e06824a6d313c2e2b1282035b6e790620d.zip
move to msmtp and send real cron emails
Diffstat (limited to 'modules/cron')
-rw-r--r--modules/cron/files/override.conf3
-rw-r--r--modules/cron/files/smtpd.conf3
-rw-r--r--modules/cron/manifests/init.pp37
-rw-r--r--modules/cron/templates/aliases1
-rw-r--r--modules/cron/templates/msmtprc13
5 files changed, 43 insertions, 14 deletions
diff --git a/modules/cron/files/override.conf b/modules/cron/files/override.conf
new file mode 100644
index 0000000..a82731a
--- /dev/null
+++ b/modules/cron/files/override.conf
@@ -0,0 +1,3 @@
+[Service]
+ExecStart=
+ExecStart=/usr/bin/crond -n -m '/usr/bin/msmtp -t'
diff --git a/modules/cron/files/smtpd.conf b/modules/cron/files/smtpd.conf
deleted file mode 100644
index 34b4bc7..0000000
--- a/modules/cron/files/smtpd.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-listen on localhost
-action actionmbox mbox
-match for local action actionmbox
diff --git a/modules/cron/manifests/init.pp b/modules/cron/manifests/init.pp
index a396058..86dcd13 100644
--- a/modules/cron/manifests/init.pp
+++ b/modules/cron/manifests/init.pp
@@ -1,21 +1,36 @@
class cron {
- package { ["cronie", "opensmtpd"]:
+ include systemd
+
+ $from = "${facts['networking']['hostname']}-cron"
+ $password = secret::value('cron_email_password')
+
+ package { ["cronie", "msmtp"]:
ensure => installed,
}
- service { 'cronie':
- ensure => running,
- enable => true,
- require => Package['cronie'];
+ file {
+ '/etc/msmtprc':
+ content => template('cron/msmtprc');
+ '/etc/aliases':
+ content => template('cron/aliases');
+ '/etc/systemd/system/cronie.service.d':
+ ensure => directory;
+ '/etc/systemd/system/cronie.service.d/override.conf':
+ source => 'puppet:///modules/cron/override.conf',
+ require => File['/etc/systemd/system/cronie.service.d'],
+ notify => [
+ Exec["/usr/bin/systemctl daemon-reload"],
+ Service['cronie'],
+ ];
}
- service { 'smtpd':
+ service { 'cronie':
ensure => running,
enable => true,
- require => Package['opensmtpd'];
- }
-
- file { '/etc/smtpd/smtpd.conf':
- source => 'puppet:///modules/cron/smtpd.conf';
+ require => [
+ Package['cronie'],
+ File['/etc/systemd/system/cronie.service.d/override.conf'],
+ Exec["/usr/bin/systemctl daemon-reload"],
+ ];
}
}
diff --git a/modules/cron/templates/aliases b/modules/cron/templates/aliases
new file mode 100644
index 0000000..80a099d
--- /dev/null
+++ b/modules/cron/templates/aliases
@@ -0,0 +1 @@
+default: doy@tozt.net
diff --git a/modules/cron/templates/msmtprc b/modules/cron/templates/msmtprc
new file mode 100644
index 0000000..a13676d
--- /dev/null
+++ b/modules/cron/templates/msmtprc
@@ -0,0 +1,13 @@
+defaults
+auth on
+tls on
+tls_starttls off
+
+account default
+host mail.tozt.net
+from <%= @from %>@tozt.net
+user <%= @from %>@tozt.net
+password <%= @password %>
+tls_trust_file /etc/ssl/certs/ca-certificates.crt
+
+aliases /etc/aliases