X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/8704320540a9b63acd4cf4df49190cd103b5efa5..c98b422d89c65d496c3c608130d11fb02c954733:/cookbooks/dns/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/dns/recipes/default.rb b/cookbooks/dns/recipes/default.rb index 04a07f61c..9e9f93183 100644 --- a/cookbooks/dns/recipes/default.rb +++ b/cookbooks/dns/recipes/default.rb @@ -35,19 +35,20 @@ package %w[ libwww-perl libxml-treebuilder-perl libxml-writer-perl + libyaml-perl libyaml-libyaml-perl lockfile-progs ] cache_dir = Chef::Config[:file_cache_path] -dnscontrol_version = "3.20.0" +dnscontrol_version = "4.12.5" -if arm? - dnscontrol_arch = "arm64" -else - dnscontrol_arch = "amd64" -end +dnscontrol_arch = if arm? + "arm64" + else + "amd64" + end remote_file "#{cache_dir}/dnscontrol-#{dnscontrol_version}.deb" do source "https://github.com/StackExchange/dnscontrol/releases/download/v#{dnscontrol_version}/dnscontrol-#{dnscontrol_version}.#{dnscontrol_arch}.deb" @@ -58,9 +59,8 @@ remote_file "#{cache_dir}/dnscontrol-#{dnscontrol_version}.deb" do end dpkg_package "dnscontrol" do - action :nothing source "#{cache_dir}/dnscontrol-#{dnscontrol_version}.deb" - subscribes :install, "remote_file[#{cache_dir}/dnscontrol-#{dnscontrol_version}.deb]" + version "#{dnscontrol_version}" end directory "/srv/dns.openstreetmap.org" do @@ -169,9 +169,22 @@ template "/usr/local/bin/dns-check" do variables :passwords => passwords, :geoservers => geoservers end -cron_d "dns" do - minute "*/3" +systemd_service "dns-check" do + description "Rebuild DNS zones with GeoDNS changes" + exec_start "/usr/local/bin/dns-check" user "git" - command "/usr/local/bin/dns-check" - mailto "admins@openstreetmap.org" + runtime_max_sec 90 + sandbox :enable_network => true + proc_subset "all" + read_write_paths "/var/lib/dns" +end + +systemd_timer "dns-check" do + description "Rebuild DNS zones with GeoDNS changes" + on_boot_sec "3m" + on_unit_active_sec "3m" +end + +service "dns-check.timer" do + action [:enable, :start] end