-systemd_service "replicate" do
- description "Rendering database replication service"
- after "postgresql.service"
- wants "postgresql.service"
- user "tile"
- exec_start "/usr/local/bin/replicate"
- sandbox :enable_network => true
- restrict_address_families "AF_UNIX"
- read_write_paths [
- "/store/database/nodes",
- "/var/lib/replicate",
- "/var/log/tile"
+ 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"
+ wants "postgresql.service"
+ user "tile"
+ exec_start "/usr/local/bin/replicate"
+ sandbox :enable_network => true
+ restrict_address_families "AF_UNIX"
+ read_write_paths [
+ "/store/database/nodes",
+ "/var/lib/replicate",
+ "/var/log/tile"
+ ]
+ restart "on-failure"
+ end
+
+ service "replicate" do
+ action [:enable, :start]
+ subscribes :restart, "template[/usr/local/bin/replicate]"
+ subscribes :restart, "systemd_service[replicate]"
+ end
+elsif node[:tile][:replication][:engine] == "osm2pgsql"
+ service "expire-tiles.path" do
+ action [:disable, :stop]
+ end
+
+ systemd_path "expire-tiles" do
+ action :delete
+ end
+
+ service "expire-tiles" do
+ action :stop
+ end
+
+ systemd_service "expire-tiles" do
+ action :delete
+ end
+
+ template "/usr/local/bin/expire-tiles" do
+ source "expire-tiles-osm2pgsql.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