]> 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 0c4a84c9cc1eb11297b12ba8668ffda10a1d9884..b87f5e8226ac16708e7b974c1677454b5cfd8863 100644 (file)
 # limitations under the License.
 #
 
-include_recipe "apt"
+include_recipe "apt::maxmind"
 
 license_keys = data_bag_item("geoipupdate", "license-keys")
 
-package "geoipupdate" do
-  action [:install, :upgrade]
-end
+package "geoipupdate"
 
 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
+
+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