]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/geoipupdate/recipes/default.rb
geoipupdate: increase randomized delay to reduce potential hot day
[chef.git] / cookbooks / geoipupdate / recipes / default.rb
index 3b116c8691c60a9622fd82140c3fd76f0950db2c..b87f5e8226ac16708e7b974c1677454b5cfd8863 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apt"
+include_recipe "apt::maxmind"
 
 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,24 @@ 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"
+  sandbox :enable_network => 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 "5d"
 end
 
-directory "/var/lib/GeoIP" do
-  action :delete
-  recursive true
+service "geoipupdate.timer" do
+  action [:enable, :start]
 end