X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/d1c87f545d0be04110c9993ea828bbd53e2914cb..97b22cb709e69073a375b323ed7760b8a2d4f891:/cookbooks/tilecache/recipes/default.rb diff --git a/cookbooks/tilecache/recipes/default.rb b/cookbooks/tilecache/recipes/default.rb index 395ee54dc..d3f1dccfa 100644 --- a/cookbooks/tilecache/recipes/default.rb +++ b/cookbooks/tilecache/recipes/default.rb @@ -19,16 +19,18 @@ require "ipaddr" -include_recipe "ssl" -include_recipe "squid" -include_recipe "nginx" include_recipe "fail2ban" +include_recipe "munin" +include_recipe "nginx" +include_recipe "squid" +include_recipe "ssl" package "apache2" do action :remove end package %w[ + curl xz-utils openssl ] @@ -100,42 +102,13 @@ squid_fragment "tilecache" do variables :caches => tilecaches, :renders => tilerenders end -if node[:packages][:squid][:version].to_f < 4.9 - Array(node[:squid][:cache_dir]).each do |cache_dir| - if cache_dir =~ /^coss (\S+) / - cache_dir = File.dirname(Regexp.last_match(1)) - elsif cache_dir =~ /^\S+ (\S+) / - cache_dir = Regexp.last_match(1) - end - - file "#{cache_dir}/rock" do - action :delete - backup false - end - end - - package "squid" do - action :upgrade - end -end - package "rsync" template "/etc/logrotate.d/squid" do source "logrotate.squid.erb" owner "root" group "root" - mode 0o644 -end - -# Configure cron with lower cpu and IO priority -systemd_service "cron-load" do - service "cron" - dropin "load" - nice 19 - io_scheduling_class "best-effort" - io_scheduling_priority 7 - notifies :restart, "service[cron]" + mode "644" end nginx_site "default" do @@ -146,15 +119,30 @@ template "/usr/local/bin/nginx_generate_tilecache_qos_map" do source "nginx_generate_tilecache_qos_map.erb" owner "root" group "root" - mode 0o750 + mode "750" variables :totp_key => web_passwords["totp_key"] end -template "/etc/cron.d/tilecache" do - source "cron.erb" - owner "root" - group "root" - mode 0o644 +cron_d "tilecache" do + action :delete +end + +cron_d "tilecache-generate-qos-map" do + minute "0" + user "root" + command "/usr/local/bin/nginx_generate_tilecache_qos_map" +end + +cron_d "tilecache-curl-time" do + user "www-data" + command "/srv/tilecache/tilecache-curl-time" +end + +cron_d "tilecache-curl-time-cleanup" do + minute "15" + hour "0" + user "www-data" + command "/srv/tilecache/tilecache-curl-time-cleanup" end execute "execute_nginx_generate_tilecache_qos_map" do @@ -184,7 +172,7 @@ template "/etc/logrotate.d/nginx" do source "logrotate.nginx.erb" owner "root" group "root" - mode 0o644 + mode "644" end fail2ban_jail "squid" do @@ -198,3 +186,41 @@ tilerenders.each do |render| conf_variables :host => render[:fqdn] end end + +directory "/srv/tilecache" do + owner "root" + group "root" + mode "755" +end + +directory "/srv/tilecache/data" do + owner "www-data" + group "www-data" + mode "755" +end + +cookbook_file "/srv/tilecache/tilecache-curl-time.txt" do + source "tilecache-curl-time.txt" + owner "root" + group "root" + mode "755" +end + +template "/srv/tilecache/tilecache-curl-time" do + source "tilecache-curl-time.erb" + owner "root" + group "root" + mode "755" + variables :caches => tilecaches, :renders => tilerenders +end + +template "/srv/tilecache/tilecache-curl-time-cleanup" do + source "tilecache-curl-time-cleanup.erb" + owner "root" + group "root" + mode "755" +end + +ohai_plugin "tilecache" do + template "ohai.rb.erb" +end