Add support for squid 4
authorTom Hughes <tom@compton.nu>
Sun, 9 Jun 2019 17:52:10 +0000 (18:52 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 9 Jun 2019 18:11:11 +0000 (19:11 +0100)
cookbooks/apt/recipes/default.rb
cookbooks/squid/attributes/default.rb
cookbooks/squid/recipes/default.rb
cookbooks/squid/templates/default/squid.conf.erb
cookbooks/tilecache/templates/default/squid.conf.erb

index 14e37dd..1cac23b 100644 (file)
@@ -88,6 +88,11 @@ apt_repository "squid3" do
   uri "ppa:osmadmins/squid3"
 end
 
+apt_repository "squid4" do
+  action repository_actions["squid4"]
+  uri "ppa:osmadmins/squid4"
+end
+
 apt_repository "management-component-pack" do
   action repository_actions["management-component-pack"]
   uri "https://downloads.linux.hpe.com/SDR/repo/mcp"
index 2f49aca..e3e2ca8 100644 (file)
@@ -1,4 +1,4 @@
-default[:squid][:version] = "2"
+default[:squid][:version] = 2
 default[:squid][:cache_mem] = "256 MB"
 default[:squid][:cache_dir] = "ufs /var/spool/squid 256 16 256"
 default[:squid][:access_log] = "/var/log/squid/access.log openstreetmap"
index 12c57c7..fe5077b 100644 (file)
@@ -17,7 +17,7 @@
 # limitations under the License.
 #
 
-if node[:squid][:version] == "3"
+if node[:squid][:version] >= 3
   apt_package "squid" do
     action :unlock
   end
index 053987f..a2f38b7 100644 (file)
@@ -12,7 +12,7 @@ icp_port 3130
 log_icp_queries off
 
 #FIXME - configurable
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] < 3 -%>
 http_port 80 accel defaultsite=tile.openstreetmap.org tcpkeepalive=60,10,6 http11
 <% else -%>
 http_port 80 accel no-vhost defaultsite=tile.openstreetmap.org tcpkeepalive=60,10,6
@@ -28,7 +28,7 @@ cache_effective_group proxy
 <% Array(node[:squid][:cache_dir]).each do |cache_dir| -%>
 cache_dir <%= cache_dir %>
 <% end -%>
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] < 3 -%>
 cache_swap_log /var/spool/squid/%s
 <% end -%>
 
@@ -50,7 +50,7 @@ persistent_request_timeout 1 minutes
 
 negative_ttl 15 seconds
 half_closed_clients off
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] < 3 -%>
 pipeline_prefetch on
 <% else -%>
 pipeline_prefetch 1
@@ -62,13 +62,13 @@ connect_timeout 20 seconds
 client_lifetime 1 hours
 
 collapsed_forwarding on
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] < 3 -%>
 refresh_stale_hit 300 seconds
 <% end -%>
 
 #Recommended minimum configuration:
 #----------------------------------
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] < 3 -%>
 acl all src all
 acl manager proto cache_object
 acl localhost src 127.0.0.1/32
@@ -103,7 +103,7 @@ http_access deny purge
 forwarded_for on
 follow_x_forwarded_for allow localhost
 
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] < 3 -%>
 logformat openstreetmap %ts.%03tu %tr %>a %Ss/%03Hs %<st %rm %rp %Sh/%<A %mt "%{Referer}>h" "%{User-Agent}>h"
 access_log <%= node[:squid][:access_log] %>
 <% else -%>
@@ -115,7 +115,7 @@ cache_store_log none
 buffered_logs on
 client_db off
 strip_query_terms off
-<% if node[:squid][:version] == "3" -%>
+<% if node[:squid][:version] > 2 -%>
 # Work around bug in squid 3 that causes log_fqdn to be
 # turned on by some of the (unused by us) default formats:
 # http://lists.squid-cache.org/pipermail/squid-users/2016-February/thread.html#8999
index c74c527..b9a3968 100644 (file)
@@ -117,7 +117,7 @@ acl tile_caches src <%= address %>
 <% end -%>
 <% end -%>
 
-<% if node[:squid][:version] == "2" -%>
+<% if node[:squid][:version] != 3 -%>
 # Siblings
 <% node[:tilecache][:tile_siblings].each do |sibling| -%>
 cache_peer <%= sibling %> sibling 3128 3130 weight=1500
@@ -125,12 +125,20 @@ cache_peer <%= sibling %> sibling 3128 3130 weight=1500
 <% end -%>
 
 # Primary Parent
+<% if node[:squid][:version] < 4 -%>
 cache_peer <%= node[:tilecache][:tile_parent] %> parent 443 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=120 no-digest weight=1000 ssl ssldomain=render.openstreetmap.org
+<% else -%>
+cache_peer <%= node[:tilecache][:tile_parent] %> parent 443 0 no-query originserver name=osmtileAccel login=PASS connect-timeout=120 no-digest weight=1000 tls ssldomain=render.openstreetmap.org
+<% end -%>
 cache_peer_access osmtileAccel allow osmtile_sites
 
 # Backup Parents
 <% @renders.each do |renders| -%>
+<% if node[:squid][:version] < 4 -%>
 cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 443 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10 ssl ssldomain=render.openstreetmap.org
+<% else -%>
+cache_peer <%= renders[:hostname] %>.render.openstreetmap.org parent 443 0 no-query originserver name=osmtileAccelBackup<%= renders[:hostname] %> login=PASS connect-timeout=60 no-digest weight=10 tls ssldomain=render.openstreetmap.org
+<% end -%>
 cache_peer_access osmtileAccelBackup<%= renders[:hostname] %> allow osmtile_sites
 <% end -%>