X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/18e12b0e123fc3e5f344682f884feabc12da0f5a..ad6b3f72b1b2bb9c7184f3badc87193b4e57aba0:/cookbooks/bind/recipes/default.rb diff --git a/cookbooks/bind/recipes/default.rb b/cookbooks/bind/recipes/default.rb index 4dcfaa859..77c777e1a 100644 --- a/cookbooks/bind/recipes/default.rb +++ b/cookbooks/bind/recipes/default.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: bind +# Cookbook:: bind # 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. @@ -19,35 +19,51 @@ include_recipe "networking" +clients = search(:node, "roles:#{node[:bind][:clients]}") + +ipv4_clients = clients.collect do |client| + client.ipaddresses(:family => :inet) +end.flatten + +ipv6_clients = clients.collect do |client| + client.ipaddresses(:family => :inet6) +end.flatten + package "bind9" -service "bind9" do +service_name = if node[:lsb][:release].to_f < 20.04 + "bind9" + else + "named" + end + +service service_name do action [:enable, :start] - supports :status => true, :restart => true, :reload => true end template "/etc/bind/named.conf.local" do source "named.local.erb" owner "root" group "root" - mode 0o644 - notifies :restart, "service[bind9]" + mode "644" + notifies :restart, "service[#{service_name}]" end template "/etc/bind/named.conf.options" do source "named.options.erb" owner "root" group "root" - mode 0o644 - notifies :restart, "service[bind9]" + mode "644" + variables :ipv4_clients => ipv4_clients, :ipv6_clients => ipv6_clients + notifies :restart, "service[#{service_name}]" end template "/etc/bind/db.10" do source "db.10.erb" owner "root" group "root" - mode 0o644 - notifies :reload, "service[bind9]" + mode "644" + notifies :reload, "service[#{service_name}]" end firewall_rule "accept-dns-udp" do