diff options
author | Jesse Luehrs <doy@tozt.net> | 2024-02-27 00:08:27 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2024-02-27 00:08:27 -0500 |
commit | 991d4222c095b20d896866c39b877ea1290cb017 (patch) | |
tree | 251479529d4036de5c4ebf449e1320105767dacb /modules/cron/manifests/job.pp | |
parent | 528974eb4b1b9316d2d6082771466c42b562c163 (diff) | |
download | puppet-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.pp | 25 |
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"], + ]; } } |