itamae/cookbooks/consul/dnsmasq.rb

128 lines
2.5 KiB
Ruby

package 'dnsmasq'
%w(dnsmasq resolvconf systemd-resolved).each do |s|
service s do
action :nothing
end
end
case run_command('grep VERSION_ID /etc/os-release | awk -F\" \'{print $2}\'').stdout.chomp
when "24.04"
execute "change link to /etc/resolv.conf" do
command "ln -fs /run/systemd/resolve/resolv.conf /etc/resolv.conf"
end
directory "/etc/systemd/resolved.conf.d/" do
mode "0755"
owner "root"
group "root"
end
template '/etc/systemd/resolved.conf.d/partial.conf' do
owner 'root'
group 'root'
mode '644'
source 'templates/etc/systemd/resolved.conf.d/partial.conf.erb'
variables(dns: node['consul']['dns'])
notifies :restart, 'service[systemd-resolved]', :immediately
end
remote_file "/etc/default/dnsmasq" do
mode "0644"
owner "root"
group "root"
end
remote_file '/etc/dnsmasq.conf' do
owner 'root'
group 'root'
mode '644'
notifies :restart, 'service[dnsmasq]', :immediately
end
when "22.04"
template '/etc/systemd/resolved.conf' do
owner 'root'
group 'root'
mode '644'
source 'templates/etc/systemd/resolved.conf.2204.erb'
variables(dns: node['consul']['dns'])
notifies :restart, 'service[systemd-resolved]', :immediately
end
remote_file '/etc/dnsmasq.conf' do
owner 'root'
group 'root'
mode '644'
source 'files/etc/dnsmasq.conf.2204'
notifies :restart, 'service[dnsmasq]', :immediately
end
when "20.04"
template '/etc/systemd/resolved.conf' do
owner 'root'
group 'root'
mode '644'
variables(dns: node['consul']['dns'])
notifies :restart, 'service[systemd-resolved]', :immediately
end
remote_file '/etc/dnsmasq.conf' do
owner 'root'
group 'root'
mode '644'
source 'files/etc/dnsmasq.conf.2004'
notifies :restart, 'service[dnsmasq]', :immediately
end
when "18.04"
remote_file '/etc/systemd/resolved.conf' do
owner 'root'
group 'root'
mode '644'
notifies :restart, 'service[systemd-resolved]'
end
remote_file '/etc/dnsmasq.conf' do
owner 'root'
group 'root'
mode '644'
source 'files/etc/dnsmasq.conf.1804'
notifies :reload, 'service[dnsmasq]'
end
when '16.04'
remote_file '/etc/resolvconf/resolv.conf.d/head' do
owner 'root'
group 'root'
mode '644'
notifies :restart, 'service[resolvconf]'
end
remote_file '/etc/dnsmasq.conf' do
owner 'root'
group 'root'
mode '644'
source 'files/etc/dnsmasq.conf.1804'
notifies :reload, 'service[dnsmasq]'
end
end