include_recipe "apt"
include_recipe "munin"
+include_recipe "prometheus"
if node[:squid][:version] >= 3
apt_package "squid" do
source "squid.conf.erb"
owner "root"
group "root"
- mode 0o644
+ mode "644"
end
directory "/etc/squid/squid.conf.d" do
owner "root"
group "root"
- mode 0o755
+ mode "755"
end
Array(node[:squid][:cache_dir]).each do |cache_dir|
directory cache_dir do
owner "proxy"
group "proxy"
- mode 0o750
+ mode "750"
recursive true
notifies :restart, "service[squid]"
end
action :delete
end
+file "/etc/logrotate.d/squid.dpkg-dist" do
+ action :delete
+end
+
+squid_service_exec = if node[:lsb][:release].to_f < 20.04
+ "/usr/sbin/squid -YC"
+ else
+ "/usr/sbin/squid --foreground -YC"
+ end
+
systemd_service "squid" do
dropin "chef"
limit_nofile 98304
private_tmp true
- private_devices true
+ private_devices node[:squid][:private_devices]
protect_system "full"
protect_home true
restrict_address_families address_families
restart "always"
+ exec_start "#{squid_service_exec}"
end
service "squid" do
- action [:enable, :start]
+ action :enable
subscribes :restart, "systemd_service[squid]"
subscribes :restart, "template[/etc/squid/squid.conf]"
subscribes :reload, "template[/etc/resolv.conf]"
end
+notify_group "squid-start" do
+ action :run
+ notifies :start, "service[squid]"
+end
+
service "squid-restart" do
service_name "squid"
action :restart
munin_plugin "squid_delay_pools_noreferer" do
action :delete
end
+
+prometheus_exporter "squid" do
+ port 9301
+ listen_switch "listen"
+end