summaryrefslogtreecommitdiffstats
path: root/modules/cron/manifests/job.pp
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2024-02-27 00:08:27 -0500
committerJesse Luehrs <doy@tozt.net>2024-02-27 00:08:27 -0500
commit991d4222c095b20d896866c39b877ea1290cb017 (patch)
tree251479529d4036de5c4ebf449e1320105767dacb /modules/cron/manifests/job.pp
parent528974eb4b1b9316d2d6082771466c42b562c163 (diff)
downloadpuppet-tozt-991d4222c095b20d896866c39b877ea1290cb017.tar.gz
puppet-tozt-991d4222c095b20d896866c39b877ea1290cb017.zip
convert the custom cron::job class to systemd
Diffstat (limited to 'modules/cron/manifests/job.pp')
-rw-r--r--modules/cron/manifests/job.pp25
1 files changed, 22 insertions, 3 deletions
diff --git a/modules/cron/manifests/job.pp b/modules/cron/manifests/job.pp
index 67e7412..5471547 100644
--- a/modules/cron/manifests/job.pp
+++ b/modules/cron/manifests/job.pp
@@ -1,6 +1,7 @@
define cron::job($frequency, $source = undef, $content = undef, $ensure = undef) {
require cron
require godwrap
+ require systemd
$godwrap_directory = $godwrap::directory;
@@ -11,10 +12,28 @@ define cron::job($frequency, $source = undef, $content = undef, $ensure = undef)
content => $content,
mode => '0755',
require => File["/etc/cronjobs"];
- "/etc/cron.${frequency}/${name}":
+ "/etc/systemd/system/${name}.service":
+ ensure => $ensure,
+ content => template('cron/service'),
+ mode => '0755',
+ require => File["/etc/cronjobs/${name}"],
+ notify => Exec['/usr/bin/systemctl daemon-reload'];
+ "/etc/systemd/system/${name}.timer":
ensure => $ensure,
- content => template('cron/job'),
+ content => template('cron/timer'),
mode => '0755',
- require => File["/etc/cronjobs/${name}"];
+ require => File["/etc/cronjobs/${name}"],
+ notify => Exec['/usr/bin/systemctl daemon-reload'];
+ "/etc/cron.${frequency}/${name}":
+ ensure => absent;
+ }
+
+ service { "${name}.timer":
+ ensure => running,
+ enable => true,
+ require => [
+ File["/etc/systemd/system/${name}.service"],
+ File["/etc/systemd/system/${name}.timer"],
+ ];
}
}