X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/d694a499dfccf56d6290decf56809866cc7b21c6..5b4f815f6cd8433be1d66b8376b71452f974b225:/cookbooks/tile/recipes/default.rb diff --git a/cookbooks/tile/recipes/default.rb b/cookbooks/tile/recipes/default.rb index 2e19e9b0e..6cdf6190f 100644 --- a/cookbooks/tile/recipes/default.rb +++ b/cookbooks/tile/recipes/default.rb @@ -21,6 +21,7 @@ include_recipe "apache" include_recipe "git" include_recipe "nodejs" include_recipe "postgresql" +include_recipe "python" include_recipe "tools" blocks = data_bag_item("tile", "blocks") @@ -76,11 +77,13 @@ systemd_service "renderd" do private_network true protect_system "full" protect_home true + no_new_privileges true restart "on-failure" end service "renderd" do action [:enable, :start] + subscribes :restart, "systemd_service[renderd]" end directory "/srv/tile.openstreetmap.org/tiles" do @@ -119,11 +122,12 @@ package "python-cairo" package "python-mapnik" package "python-setuptools" -easy_install_package "pyotp" +python_package "pyotp" package "fonts-noto-cjk" package "fonts-noto-hinted" package "fonts-noto-unhinted" +package "fonts-hanazono" package "ttf-unifont" directory "/srv/tile.openstreetmap.org/cgi-bin" do @@ -240,7 +244,7 @@ nodejs_package "millstone" systemd_service "update-lowzoom@" do description "Low zoom tile update service for %i layer" user "tile" - exec_start "/usr/local/bin/update-lowzoom-%i" + exec_start "/bin/bash /usr/local/bin/update-lowzoom-%i" private_tmp true private_devices true private_network true @@ -367,7 +371,12 @@ postgresql_extension "postgis" do database "gis" end -%w(geography_columns planet_osm_nodes planet_osm_rels planet_osm_ways raster_columns raster_overviews spatial_ref_sys).each do |table| +postgresql_extension "hstore" do + cluster node[:tile][:database][:cluster] + database "gis" +end + +%w[geography_columns planet_osm_nodes planet_osm_rels planet_osm_ways raster_columns raster_overviews spatial_ref_sys].each do |table| postgresql_table table do cluster node[:tile][:database][:cluster] database "gis" @@ -376,7 +385,7 @@ end end end -%w(geometry_columns planet_osm_line planet_osm_point planet_osm_polygon planet_osm_roads).each do |table| +%w[geometry_columns planet_osm_line planet_osm_point planet_osm_polygon planet_osm_roads].each do |table| postgresql_table table do cluster node[:tile][:database][:cluster] database "gis" @@ -431,19 +440,18 @@ template "/usr/local/bin/expire-tiles" do mode 0o755 end -template "/etc/sudoers.d/tile" do - source "sudoers.erb" - owner "root" - group "root" - mode 0o440 -end - directory "/var/lib/replicate" do owner "tile" group "tile" mode 0o755 end +directory "/var/lib/replicate/expire-queue" do + owner "tile" + group "www-data" + mode 0o775 +end + template "/var/lib/replicate/configuration.txt" do source "replicate.configuration.erb" owner "tile" @@ -458,6 +466,29 @@ template "/usr/local/bin/replicate" do mode 0o755 end +systemd_service "expire-tiles" do + description "Tile dirtying service" + type "simple" + user "www-data" + exec_start "/usr/local/bin/expire-tiles" + standard_output "null" + private_tmp true + private_devices true + protect_system "full" + protect_home true + no_new_privileges true +end + +systemd_path "expire-tiles" do + description "Tile dirtying trigger" + directory_not_empty "/var/lib/replicate/expire-queue" +end + +service "expire-tiles.path" do + action [:enable, :start] + subscribes :restart, "systemd_path[expire-tiles]" +end + systemd_service "replicate" do description "Rendering database replication service" after "postgresql.service" @@ -468,6 +499,7 @@ systemd_service "replicate" do private_devices true protect_system "full" protect_home true + no_new_privileges true restart "on-failure" end