include_recipe "accounts"
include_recipe "apache"
include_recipe "git"
-include_recipe "munin"
include_recipe "nodejs"
include_recipe "postgresql"
include_recipe "prometheus"
style[:tile_directories].collect { |directory| directory[:name] }
end.flatten.sort.uniq
-package "renderd"
+package %w[
+ renderd
+ libgoogle-perftools4
+]
systemd_service "renderd" do
dropin "chef"
after "postgresql.service"
wants "postgresql.service"
+ environment "LD_PRELOAD" => "libtcmalloc.so.4"
limit_nofile 4096
+ memory_high "80%"
+ memory_max "90%"
sandbox true
restrict_address_families "AF_UNIX"
read_write_paths tile_directories
+ system_call_filter ["@system-service", "mincore"]
restart "on-failure"
end
nodejs_package "carto"
+lowzoom_threads = node.cpu_cores - 1
+
systemd_service "update-lowzoom@" do
description "Low zoom tile update service for %i layer"
user "tile"
owner "root"
group "root"
mode "755"
- variables :style => name
+ variables :style => name, :threads => lowzoom_threads
end
service "update-lowzoom@#{name}" do
end
end
-postgresql_munin "gis" do
- cluster node[:tile][:database][:cluster]
- database "gis"
-end
-
directory File.dirname(node[:tile][:database][:node_file]) do
owner "root"
group "root"
owner "root"
group "root"
mode "755"
+ variables :threads => lowzoom_threads
end
systemd_service "render-lowzoom" do
systemd_timer "render-lowzoom" do
description "Render low zoom tiles"
- on_calendar "Fri *-*-* 23:00:00 UTC"
+ on_calendar "23:00 #{node[:timezone]}"
end
service "render-lowzoom.timer" do
end
end
-munin_plugin "mod_tile_fresh"
-munin_plugin "mod_tile_latency"
-munin_plugin "mod_tile_response"
-munin_plugin "mod_tile_zoom"
-
-munin_plugin "renderd_processed"
-munin_plugin "renderd_queue"
-munin_plugin "renderd_queue_time"
-munin_plugin "renderd_zoom"
-munin_plugin "renderd_zoom_time"
-
-munin_plugin "replication_delay"
-
package "ruby-webrick"
prometheus_exporter "modtile" do