X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/8f368b10a8cd0e097632874f720c49ce8eacea3a..04f8c85300f9189bb1d2f2a6375eadb3cf8c800d:/cookbooks/tile/recipes/default.rb diff --git a/cookbooks/tile/recipes/default.rb b/cookbooks/tile/recipes/default.rb index 963c3dd2f..a9b503c1c 100644 --- a/cookbooks/tile/recipes/default.rb +++ b/cookbooks/tile/recipes/default.rb @@ -97,6 +97,10 @@ file "/srv/tile.openstreetmap.org/conf/ip.map" do mode "644" end +tile_directories = node[:tile][:styles].collect do |_, style| + style[:tile_directories].collect { |directory| directory[:name] } +end.flatten.sort.uniq + package "renderd" systemd_service "renderd" do @@ -106,7 +110,7 @@ systemd_service "renderd" do limit_nofile 4096 sandbox true restrict_address_families "AF_UNIX" - read_write_paths "/store/tiles" + read_write_paths tile_directories restart "on-failure" end @@ -584,9 +588,8 @@ systemd_service "expire-tiles" do nice 10 standard_output "null" sandbox true - read_write_paths [ + read_write_paths tile_directories + [ "/store/database/nodes", - "/store/tiles/%i", "/var/lib/replicate/expire-queue", "/var/log/tile" ] @@ -667,18 +670,27 @@ template "/usr/local/bin/cleanup-tiles" do mode "755" end -tile_directories = node[:tile][:styles].collect do |_, style| - style[:tile_directories].collect { |directory| directory[:name] } -end.flatten.sort.uniq +systemd_service "cleanup-tiles@" do + description "Cleanup old tiles for /%I" + exec_start "/usr/local/bin/cleanup-tiles /%I" + user "_renderd" + io_scheduling_class "idle" + sandbox true + read_write_paths "/%I" +end + +systemd_timer "cleanup-tiles@" do + description "Cleanup old tiles for /%I" + on_boot_sec "30m" + on_unit_inactive_sec "60m" + randomized_delay_sec "10m" +end tile_directories.each do |directory| - label = directory.gsub("/", "-") + label = directory[1..].gsub("/", "-") - cron_d "cleanup-tiles#{label}" do - minute "0" - user "_renderd" - command "ionice -c 3 /usr/local/bin/cleanup-tiles #{directory}" - mailto "admins@openstreetmap.org" + service "cleanup-tiles@#{label}.timer" do + action [:enable, :start] end end