X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/21ce79ac2849907a01c17459f18e4d5b1c870400..aeaa46f3071de018b5c5e0f5678cb5b4082e3ddc:/cookbooks/geodns/recipes/default.rb diff --git a/cookbooks/geodns/recipes/default.rb b/cookbooks/geodns/recipes/default.rb index 250f148c4..43643c2f9 100644 --- a/cookbooks/geodns/recipes/default.rb +++ b/cookbooks/geodns/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: geodns +# Cookbook:: geodns # Recipe:: default # -# Copyright 2011, OpenStreetMap Foundation +# Copyright:: 2011, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,16 +17,36 @@ # limitations under the License. # +include_recipe "geoipupdate" + package %w[ - geoip-database-contrib gdnsd ] +directory "/etc/gdnsd/config.d" do + owner "nobody" + group "nogroup" + mode "755" +end + +%w[tile nominatim].each do |zone| + %w[map resource weighted].each do |type| + template "/etc/gdnsd/config.d/#{zone}.#{type}" do + action :create_if_missing + source "zone.#{type}.erb" + owner "nobody" + group "nogroup" + mode "644" + variables :zone => zone + end + end +end + template "/etc/gdnsd/config" do source "config.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[gdnsd]" end @@ -34,21 +54,38 @@ template "/etc/gdnsd/zones/geo.openstreetmap.org" do source "geo.erb" owner "root" group "root" - mode 0o644 + mode "644" notifies :restart, "service[gdnsd]" end -if node[:lsb][:release].to_f >= 18.04 - service "systemd-resolved" do - action [:disable, :stop] - end -end - service "gdnsd" do action [:enable, :start] supports :status => true, :restart => true, :reload => true end +systemd_service "gdnsd-reload" do + description "Reload gdnsd configuration" + type "simple" + user "root" + exec_start "/bin/systemctl reload-or-restart gdnsd" + standard_output "null" + private_tmp true + private_devices true + protect_system "full" + protect_home true + no_new_privileges true +end + +systemd_path "gdnsd-reload" do + description "Reload gdnsd configuration" + path_changed "/etc/gdnsd/config.d" +end + +service "gdnsd-reload.path" do + action [:enable, :start] + subscribes :restart, "systemd_path[gdnsd-reload]" +end + firewall_rule "accept-dns-udp" do action :accept source "net"