themepark_directory = "/srv/vector.openstreetmap.org/osm2pgsql-themepark"
git themepark_directory do
repository "https://github.com/osm2pgsql-dev/osm2pgsql-themepark.git"
+ revision "6df586489889dae1c5ffed33071067ef09771acf"
user "tileupdate"
group "tileupdate"
end
python_package "tilekiln" do
python_virtualenv tilekiln_directory
python_version "3"
- version "0.5.1"
+ version "0.6.5"
end
template "/srv/vector.openstreetmap.org/html/index.html" do
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]
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
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",
+}