Convert update-lowzoom service to a systemd unit
authorTom Hughes <tom@compton.nu>
Sun, 26 Feb 2017 11:42:28 +0000 (11:42 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 26 Feb 2017 11:42:28 +0000 (11:42 +0000)
cookbooks/tile/recipes/default.rb
cookbooks/tile/templates/default/update-lowzoom.init.erb [deleted file]

index 62f9a8858f847226a9fc45fbedc25ee04294abd5..2e19e9b0ed25955ee947f6be9d79467c70523d28 100644 (file)
@@ -237,6 +237,19 @@ end
 nodejs_package "carto"
 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"
+  private_tmp true
+  private_devices true
+  private_network true
+  protect_system "full"
+  protect_home true
+  no_new_privileges true
+  restart "on-failure"
+end
+
 directory "/srv/tile.openstreetmap.org/styles" do
   owner "tile"
   group "tile"
@@ -255,15 +268,7 @@ node[:tile][:styles].each do |name, details|
     variables :style => name
   end
 
-  template "/etc/init.d/update-lowzoom-#{name}" do
-    source "update-lowzoom.init.erb"
-    owner "root"
-    group "root"
-    mode 0o755
-    variables :style => name
-  end
-
-  service "update-lowzoom-#{name}" do
+  service "update-lowzoom@#{name}" do
     action :disable
     supports :restart => true
   end
@@ -325,7 +330,7 @@ node[:tile][:styles].each do |name, details|
     group "tile"
     subscribes :run, "git[#{style_directory}]"
     notifies :restart, "service[renderd]", :immediately
-    notifies :restart, "service[update-lowzoom-#{name}]"
+    notifies :restart, "service[update-lowzoom@#{name}]"
   end
 end
 
diff --git a/cookbooks/tile/templates/default/update-lowzoom.init.erb b/cookbooks/tile/templates/default/update-lowzoom.init.erb
deleted file mode 100644 (file)
index 8fe1fa3..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/bash
-
-# DO NOT EDIT - This file is being maintained by Chef
-
-start() {
-  start-stop-daemon --start --chuid tile --background --make-pidfile --pidfile /var/run/update-lowzoom-<%= @style %>.pid --exec /usr/local/bin/update-lowzoom-<%= @style %>
-}
-
-stop() {
-  start-stop-daemon --stop --retry 300 --pidfile /var/run/update-lowzoom-<%= @style %>.pid
-}
-
-case "$1" in
-  start)
-    start
-    ;;
-  stop)
-    stop
-    ;;
-  restart)
-    stop
-    start
-    ;;
-esac