feat: setup/manage dnf-autoupdate

- create service to run dnf update
- create timer to call the service
- manage settings via params
This commit is contained in:
Ben Vincent 2023-12-03 17:43:49 +11:00
parent e0d1ec8926
commit d8ff9ddb11
4 changed files with 38 additions and 0 deletions

View File

@ -0,0 +1,18 @@
# profiles::yum::autoupdater
#
# manage automatic updates for dnf
#
class profiles::yum::autoupdater (
String $on_calendar = '*-*-* 05:00:00',
Integer $randomized_delay_sec = 1800,
Boolean $enabled = true,
) {
# Ensure the timer is enabled and running
systemd::timer { 'dnf-autoupdate.timer':
timer_content => template('profiles/yum/autoupdate_timer.erb'),
service_content => template('profiles/yum/autoupdate_service.erb'),
active => true,
enable => true,
}
}

View File

@ -86,4 +86,8 @@ class profiles::yum::global (
class { 'profiles::yum::puppet7':
managed_repos => $managed_repos,
}
# setup dnf-autoupdate
include profiles::yum::autoupdater
}

View File

@ -0,0 +1,6 @@
[Unit]
Description=dnf-autoupdater-service
[Service]
Type=oneshot
ExecStart=/usr/bin/dnf update -y

View File

@ -0,0 +1,10 @@
[Unit]
Description=dnf-autoupdater-timer
[Timer]
OnCalendar=<%= @on_calendar %>
RandomizedDelaySec=<%= @randomized_delay_sec %>
Persistent=true
[Install]
WantedBy=timers.target