]> 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 3b116c8691c60a9622fd82140c3fd76f0950db2c..036c27881c06262bbfd00589a284dada2b992bdc 100644 (file)
@@ -21,19 +21,6 @@ include_recipe "apt"
 
 license_keys = data_bag_item("geoipupdate", "license-keys")
 
-package "geoip-database" do
-  action :purge
-end
-
-package "geoip-database-contrib" do
-  action :purge
-end
-
-package "geoipupdate" do
-  action :purge
-  only_if { ::File.exist?("/etc/cron.d/geoipupdate") }
-end
-
 package "geoipupdate"
 
 template "/etc/GeoIP.conf" do
@@ -48,10 +35,27 @@ execute "geoipupdate" do
   command "geoipupdate"
   user "root"
   group "root"
-  not_if { ENV.key?("TEST_KITCHEN") || 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
+
+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
 
-directory "/var/lib/GeoIP" do
-  action :delete
-  recursive true
+service "geoipupdate.timer" do
+  action [:enable, :start]
 end