X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/3d9c577508cc7d813473e5daa9f236cdd4a676fb..9a0ecf41db52315877cfca5b6444f0da06122aa4:/cookbooks/vectortile/recipes/default.rb?ds=sidebyside diff --git a/cookbooks/vectortile/recipes/default.rb b/cookbooks/vectortile/recipes/default.rb index 37fe86b43..703407f11 100644 --- a/cookbooks/vectortile/recipes/default.rb +++ b/cookbooks/vectortile/recipes/default.rb @@ -40,7 +40,7 @@ nginx_site "vector.openstreetmap.org" do end ssl_certificate node[:fqdn] do - domains [node[:fqdn], "vector.openstreetmap.org"] + domains [node[:fqdn]] notifies :reload, "service[nginx]" end @@ -86,6 +86,7 @@ shortbread_config = "#{style_directory}/shortbread.yaml" themepark_directory = "/srv/vector.openstreetmap.org/osm2pgsql-themepark" git themepark_directory do repository "https://github.com/osm2pgsql-dev/osm2pgsql-themepark.git" + revision "444bfbda82dea2899e77ac7f0e88ddf7f62c3b45" user "tileupdate" group "tileupdate" end @@ -99,7 +100,7 @@ end python_package "tilekiln" do python_virtualenv tilekiln_directory python_version "3" - version "0.5.1" + version node[:vectortile][:tilekiln][:version] end template "/srv/vector.openstreetmap.org/html/index.html" do @@ -189,6 +190,13 @@ end end end +postgresql_table "tile_stats" do + cluster node[:vectortile][:database][:cluster] + database "tiles" + schema "tilekiln" + owner "tilekiln" +end + (0..14).each do |zoom| postgresql_table "shortbread_v1_z#{zoom}" do cluster node[:vectortile][:database][:cluster] @@ -222,7 +230,7 @@ systemd_service "tilekiln" do wants "postgresql.service" sandbox :enable_network => true restrict_address_families "AF_UNIX" - exec_start "#{tilekiln_directory}/bin/tilekiln serve #{tilekiln_mode} --storage-dbname tiles --num-threads #{node[:vectortile][:serve][:threads]}" + exec_start "#{tilekiln_directory}/bin/tilekiln serve #{tilekiln_mode} --storage-dbname tiles --num-threads #{node[:vectortile][:serve][:threads]} --base-url 'https://vector.openstreetmap.org'" end service "tilekiln" do @@ -242,7 +250,7 @@ template "/usr/local/bin/vector-update" do owner "root" group "root" mode "755" - variables :tilekiln_bin => "#{tilekiln_directory}/bin/tilekiln", :source_database => "spirit", :config_path => "#{shortbread_config}", :diff_size => "1000", :tiles_file => "/srv/vector.openstreetmap.org/data/tiles.txt", :post_processing => "/usr/local/bin/tiles-rerender" + variables :tilekiln_bin => "#{tilekiln_directory}/bin/tilekiln", :source_database => "spirit", :config_path => "#{shortbread_config}", :diff_size => "1000", :expiry_dir => "/srv/vector.openstreetmap.org/data/", :post_processing => "/usr/local/bin/tiles-rerender" end template "/usr/local/bin/tiles-rerender" do @@ -250,7 +258,7 @@ template "/usr/local/bin/tiles-rerender" do owner "root" group "root" mode "755" - variables :tilekiln_bin => "#{tilekiln_directory}/bin/tilekiln", :source_database => "spirit", :storage_database => "tiles", :config_path => "#{shortbread_config}", :tiles_file => "/srv/vector.openstreetmap.org/data/tiles.txt", :update_threads => 4 + variables :tilekiln_bin => "#{tilekiln_directory}/bin/tilekiln", :source_database => "spirit", :storage_database => "tiles", :config_path => "#{shortbread_config}", :expiry_dir => "/srv/vector.openstreetmap.org/data/", :update_threads => 4 end systemd_service "replicate" do @@ -280,3 +288,36 @@ else action [:stop, :disable] end end + +package %w[ + ruby-pg + ruby-webrick +] + +prometheus_exporter "osm2pgsql" do + port 10027 + user "tileupdate" + restrict_address_families "AF_UNIX" + options [ + "--database-name=spirit" + ] +end + +systemd_service "tilekiln-prometheus" do + description "Tilekiln vector tile server" + user "tilekiln" + after "postgresql.service" + wants "postgresql.service" + sandbox :enable_network => true + restrict_address_families "AF_UNIX" + exec_start "#{tilekiln_directory}/bin/tilekiln prometheus --bind-host #{node[:prometheus][:address]} --storage-dbname tiles" +end + +service "tilekiln-prometheus" do + action [:enable, :start] +end + +node.default[:prometheus][:exporters][10013] = { + :name => "tilekiln", + :address => "#{node[:prometheus][:address]}:10013", +}