X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/7b9ec4b60ee39614d1d083d7220e76b07d2b275f..aeaa46f3071de018b5c5e0f5678cb5b4082e3ddc:/cookbooks/bind/recipes/default.rb diff --git a/cookbooks/bind/recipes/default.rb b/cookbooks/bind/recipes/default.rb index 80dee1de3..77c777e1a 100644 --- a/cookbooks/bind/recipes/default.rb +++ b/cookbooks/bind/recipes/default.rb @@ -1,14 +1,14 @@ # -# 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. # 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, @@ -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 - action [ :enable, :start ] - supports :status => true, :restart => true, :reload => true +service_name = if node[:lsb][:release].to_f < 20.04 + "bind9" + else + "named" + end + +service service_name do + action [:enable, :start] end template "/etc/bind/named.conf.local" do source "named.local.erb" owner "root" group "root" - mode 0644 - notifies :restart, resources(: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 0644 - notifies :restart, resources(: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 0644 - notifies :reload, resources(:service => "bind9") + mode "644" + notifies :reload, "service[#{service_name}]" end firewall_rule "accept-dns-udp" do