+if node[:squid][:cache_dir] =~ /^coss (\S+) /
+ cache_dir = File.dirname(Regexp.last_match(1))
+elsif node[:squid][:cache_dir] =~ /^\S+ (\S+) /
+ cache_dir = Regexp.last_match(1)
+end
+
+directory cache_dir do
+ owner "proxy"
+ group "proxy"
+ mode 0o750
+ recursive true
+end
+
+systemd_tmpfile "/var/run/squid" do
+ type "d"
+ owner "proxy"
+ group "proxy"
+ mode "0755"
+end
+
+systemd_service "squid" do
+ description "Squid caching proxy"
+ after ["network.target", "nss-lookup.target"]
+ type "forking"
+ limit_nofile 98304
+ exec_start_pre "/usr/sbin/squid -N -z"
+ exec_start "/usr/sbin/squid -Y"
+ exec_reload "/usr/sbin/squid -k reconfigure"
+ exec_stop "/usr/sbin/squid -k shutdown"
+ private_tmp true
+ private_devices true
+ protect_system "full"
+ protect_home true
+ restart "on-failure"
+ timeout_sec 0