X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/edb9dbcdb71d38d0707e1da419d56c620004bb18..b88e04237dcfbf1d7c4b7aa6023465f8e4a34f44:/cookbooks/tile/recipes/default.rb diff --git a/cookbooks/tile/recipes/default.rb b/cookbooks/tile/recipes/default.rb index f693f4382..4ceba4a18 100644 --- a/cookbooks/tile/recipes/default.rb +++ b/cookbooks/tile/recipes/default.rb @@ -107,6 +107,8 @@ systemd_service "renderd" do after "postgresql.service" wants "postgresql.service" limit_nofile 4096 + memory_high "80%" + memory_max "90%" sandbox true restrict_address_families "AF_UNIX" read_write_paths tile_directories @@ -280,6 +282,8 @@ end nodejs_package "carto" +lowzoom_threads = [node.cpu_cores - 1, node[:memory][:total].to_f / 4194304].min.floor + systemd_service "update-lowzoom@" do description "Low zoom tile update service for %i layer" user "tile" @@ -310,7 +314,7 @@ node[:tile][:styles].each do |name, details| owner "root" group "root" mode "755" - variables :style => name + variables :style => name, :threads => lowzoom_threads end service "update-lowzoom@#{name}" do @@ -509,17 +513,12 @@ package %w[ osm2pgsql osmium-tool pyosmium - python3-pyproj ] -remote_directory "/usr/local/bin" do - source "bin" - owner "root" - group "root" +directory "/var/lib/replicate" do + owner "tile" + group "tile" mode "755" - files_owner "root" - files_group "root" - files_mode "755" end template "/usr/local/bin/expire-tiles" do @@ -529,12 +528,6 @@ template "/usr/local/bin/expire-tiles" do mode "755" end -directory "/var/lib/replicate" do - owner "tile" - group "tile" - mode "755" -end - directory "/var/lib/replicate/expire-queue" do owner "tile" group "_renderd" @@ -546,7 +539,6 @@ template "/usr/local/bin/replicate" do owner "root" group "root" mode "755" - variables :postgresql_version => postgresql_version.to_f end systemd_service "expire-tiles" do @@ -556,11 +548,10 @@ systemd_service "expire-tiles" do exec_start "/usr/local/bin/expire-tiles" nice 10 sandbox true + restrict_address_families "AF_UNIX" read_write_paths tile_directories + [ - "/store/database/nodes", - "/var/lib/replicate/expire-queue", - "/var/log/tile" - ] + "/var/lib/replicate/expire-queue" + ] end systemd_path "expire-tiles" do @@ -573,6 +564,24 @@ service "expire-tiles.path" do subscribes :restart, "systemd_path[expire-tiles]" end +template "/usr/local/bin/replicate-post" do + source "replicate-post.erb" + owner "root" + group "root" + mode "755" +end + +osm2pgsql_arguments = %w[ + --number-processes=1 + --log-progress=false + --expire-tiles=13-19 + --expire-output=/var/lib/replicate/dirty-tiles.txt + ] + +osm2pgsql_arguments.append("--multi-geometry") if node[:tile][:database][:multi_geometry] +osm2pgsql_arguments.append("--hstore") if node[:tile][:database][:hstore] +osm2pgsql_arguments.append("--tag-transform-script=#{node[:tile][:database][:tag_transform_script]}") if node[:tile][:database][:tag_transform_script] + systemd_service "replicate" do description "Rendering database replication service" after "postgresql.service" @@ -583,8 +592,7 @@ systemd_service "replicate" do restrict_address_families "AF_UNIX" read_write_paths [ "/store/database/nodes", - "/var/lib/replicate", - "/var/log/tile" + "/var/lib/replicate" ] restart "on-failure" end @@ -600,6 +608,7 @@ template "/usr/local/bin/render-lowzoom" do owner "root" group "root" mode "755" + variables :threads => lowzoom_threads end systemd_service "render-lowzoom" do