X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/6f6ac0de26339fe17da0594649ce1b1dfe2c7f80..f2e8efe99b471cd5aef85977e6b22d024151c9a4:/cookbooks/geodns/recipes/default.rb diff --git a/cookbooks/geodns/recipes/default.rb b/cookbooks/geodns/recipes/default.rb index 8a72c17a2..f24f1b8de 100644 --- a/cookbooks/geodns/recipes/default.rb +++ b/cookbooks/geodns/recipes/default.rb @@ -1,14 +1,14 @@ # -# 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. # You may obtain a copy of the License at # -# http://www.apache.org/licenses/LICENSE-2.0 +# https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, @@ -17,58 +17,29 @@ # limitations under the License. # -service "pdns" do - action [ :stop, :disable ] - supports :status => true, :restart => true, :reload => true -end - -file "/etc/powerdns/countries.conf" do - action :delete -end - -file "/etc/powerdns/pdns.d/pdns.simplebind" do - action :delete - notifies :reload, "service[pdns]" -end - -file "/etc/powerdns/pdns.d/geo.conf" do - action :delete -end - -file "/etc/powerdns/zones.d/tile.conf" do - action :delete -end - -directory "/etc/powerdns/zones.d" do - action :delete -end - -file "/etc/cron.weekly/geodns-update" do - action :delete -end - -package "pdns-backend-geo" do - action :purge -end +package %w[ + geoipupdate + gdnsd +] -package "pdns-server" do - action :purge +execute "geoipdate" do + command "geoipupdate" + user "root" + group "root" + not_if { ::File.exist?("/var/lib/GeoIP/GeoLite2-Country.mmdb") } end -package "geoip-database-contrib" - -package "gdnsd" - -service "gdnsd" do - action [ :enable, :start ] - supports :status => true, :restart => true, :reload => true +directory "/etc/gdnsd/config.d" do + owner "nobody" + group "nogroup" + mode 0o755 end template "/etc/gdnsd/config" do source "config.erb" owner "root" group "root" - mode 0644 + mode 0o644 notifies :restart, "service[gdnsd]" end @@ -76,10 +47,38 @@ template "/etc/gdnsd/zones/geo.openstreetmap.org" do source "geo.erb" owner "root" group "root" - mode 0644 + mode 0o644 notifies :restart, "service[gdnsd]" 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"