]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/geoipupdate/recipes/default.rb
Make the GeoIP database directory vary with the OS version
[chef.git] / cookbooks / geoipupdate / recipes / default.rb
index 77c62e5ad93b5150be8b6dac3630360d7b0b7eb5..036c27881c06262bbfd00589a284dada2b992bdc 100644 (file)
@@ -27,18 +27,35 @@ template "/etc/GeoIP.conf" do
   source "GeoIP.conf.erb"
   owner "root"
   group "root"
-  mode 0o644
+  mode "644"
   variables :license_keys => license_keys
 end
 
-execute "geoipdate" do
+execute "geoipupdate" do
   command "geoipupdate"
   user "root"
   group "root"
-  not_if { node[:geoipupdate][:editions].all? { |edition| ::File.exist?("/usr/share/GeoIP/#{edition}.mmdb") } }
+  not_if { kitchen? || node[:geoipupdate][:editions].all? { |edition| ::File.exist?("#{node[:geoipupdate][:directory]}/#{edition}.mmdb") } }
 end
 
-directory "/var/lib/GeoIP" do
-  action :delete
-  recursive true
+systemd_service "geoipupdate" do
+  description "Update GeoIP databases"
+  user "root"
+  exec_start "/usr/bin/geoipupdate"
+  private_tmp true
+  private_devices true
+  protect_system "strict"
+  protect_home true
+  read_write_paths node[:geoipupdate][:directory]
+end
+
+systemd_timer "geoipupdate" do
+  description "Update GeoIP databases"
+  on_boot_sec "15m"
+  on_unit_active_sec "7d"
+  randomized_delay_sec "4h"
+end
+
+service "geoipupdate.timer" do
+  action [:enable, :start]
 end