]> git.openstreetmap.org Git - chef.git/commitdiff
Merge remote-tracking branch 'github/pull/579'
authorTom Hughes <tom@compton.nu>
Tue, 14 Feb 2023 10:28:18 +0000 (10:28 +0000)
committerTom Hughes <tom@compton.nu>
Tue, 14 Feb 2023 10:28:18 +0000 (10:28 +0000)
.rubocop.yml
cookbooks/podman/recipes/default.rb
cookbooks/systemd/resources/timer.rb

index c4b812d920a1cb17d54f9bf64eecb74863d9d4ed..d3e607a069bb15bf76870686de76ac7f54dd2cbc 100644 (file)
@@ -3,7 +3,7 @@ inherit_from: .rubocop_todo.yml
 AllCops:
   TargetRubyVersion: 3.1
 
-ChefModernize/IncludingAptDefaultRecipe:
+Chef/Modernize/IncludingAptDefaultRecipe:
   Enabled: false
   
 Chef/Modernize/CronDFileOrTemplate:
index 84137a7a9960d44e2f6841fb1542b81f84ad8bd3..4c8257350f34cc659d70bbde6bb68efe44d0ff59 100644 (file)
@@ -41,19 +41,14 @@ ruby_block "subgid-containers" do
   not_if "grep -q '^containers:' /etc/subgid"
 end
 
-service "podman-auto-update.timer" do
-  action [:enable, :start]
-end
-
-# Increase the frequency of podman auto updates
 systemd_timer "podman-auto-update-frequency" do
-  description "Increased podman auto update frequency"
-  unit "podman-auto-update.service"
+  timer "podman-auto-update"
+  dropin "frequency"
   on_boot_sec "5m"
   on_unit_inactive_sec "20m"
   randomized_delay_sec "5m"
 end
 
-service "podman-auto-update-frequency.timer" do
+service "podman-auto-update.timer" do
   action [:enable, :start]
 end
index 8ace5bfe9e5738250bf8383440c6fca5080137dd..f3f324ea035cd2fbf3f95cf86804bb1db96bd4ca 100644 (file)
@@ -22,7 +22,8 @@ unified_mode true
 default_action :create
 
 property :timer, String, :name_property => true
-property :description, String, :required => [:create]
+property :dropin, String
+property :description, String
 property :after, [String, Array]
 property :wants, [String, Array]
 property :on_active_sec, [Integer, String]
@@ -41,26 +42,34 @@ property :remain_after_elapse, [true, false]
 action :create do
   timer_variables = new_resource.to_hash
 
-  template "/etc/systemd/system/#{new_resource.timer}.timer" do
+  if new_resource.dropin
+    directory dropin_directory do
+      owner "root"
+      group "root"
+      mode "755"
+    end
+  end
+
+  template config_name do
     cookbook "systemd"
     source "timer.erb"
     owner "root"
     group "root"
     mode "644"
     variables timer_variables
+    notifies :run, "execute[systemctl-reload]"
   end
 
-  execute "systemctl-reload-#{new_resource.timer}.timer" do
+  execute "systemctl-reload" do
     action :nothing
     command "systemctl daemon-reload"
     user "root"
     group "root"
-    subscribes :run, "template[/etc/systemd/system/#{new_resource.timer}.timer]"
   end
 end
 
 action :delete do
-  file "/etc/systemd/system/#{new_resource.timer}.timer" do
+  file config_name do
     action :delete
   end
 
@@ -72,3 +81,17 @@ action :delete do
     subscribes :run, "file[/etc/systemd/system/#{new_resource.timer}.timer]"
   end
 end
+
+action_class do
+  def dropin_directory
+    "/etc/systemd/system/#{new_resource.timer}.timer.d"
+  end
+
+  def config_name
+    if new_resource.dropin
+      "#{dropin_directory}/#{new_resource.dropin}.conf"
+    else
+      "/etc/systemd/system/#{new_resource.timer}.timer"
+    end
+  end
+end