X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/e4a0595002f1f428a98776070ad4677b6433b46f..HEAD:/cookbooks/planet/recipes/dump.rb diff --git a/cookbooks/planet/recipes/dump.rb b/cookbooks/planet/recipes/dump.rb index e283d0ade..d386eaa79 100644 --- a/cookbooks/planet/recipes/dump.rb +++ b/cookbooks/planet/recipes/dump.rb @@ -17,21 +17,16 @@ # limitations under the License. # -node.default[:incron][:planetdump] = { - :user => "www-data", - :path => "/store/backup", - :events => %w[IN_CREATE IN_MOVED_TO], - :command => "/usr/local/bin/planetdump $#" -} - +include_recipe "accounts" include_recipe "git" -include_recipe "incron" package %w[ gcc + g++ make autoconf automake + pkg-config libxml2-dev libboost-dev libboost-program-options-dev @@ -43,20 +38,23 @@ package %w[ libprotobuf-dev osmpbf-bin pbzip2 - php-cli - php-curl + mktorrent + xmlstarlet + libxml2-utils + inotify-tools ] directory "/opt/planet-dump-ng" do owner "root" group "root" - mode 0o755 + mode "755" end git "/opt/planet-dump-ng" do action :sync repository "https://github.com/zerebubuth/planet-dump-ng.git" - revision "v1.1.6" + revision "v1.2.7" + depth 1 user "root" group "root" end @@ -89,24 +87,47 @@ execute "/opt/planet-dump-ng/Makefile" do end directory "/store/planetdump" do - owner "www-data" - group "www-data" - mode 0o755 + owner "planet" + group "planet" + mode "755" recursive true end -%w[planetdump planet-mirror-redirect-update].each do |program| +%w[planetdump planetdump-trigger].each do |program| template "/usr/local/bin/#{program}" do source "#{program}.erb" owner "root" group "root" - mode 0o755 + mode "755" end end -template "/etc/cron.d/planet-dump-mirror" do - source "planet-dump-mirror-cron.erb" - owner "root" - group "root" - mode 0o644 +systemd_service "planetdump@" do + description "Planet dump for %i" + user "planet" + exec_start "/usr/local/bin/planetdump %i" + memory_max "64G" + sandbox :enable_network => true + protect_home "tmpfs" + bind_paths "/home/planet" + read_write_paths [ + "/store/planetdump", + "/store/planet/pbf", + "/store/planet/planet", + "/var/log/exim4", + "/var/spool/exim4" + ] +end + +systemd_service "planetdump-trigger" do + description "Planet dump trigger" + user "root" + exec_start "/usr/local/bin/planetdump-trigger" + sandbox true + restrict_address_families "AF_UNIX" +end + +service "planetdump-trigger" do + action [:enable, :start] + subscribes :restart, "template[/usr/local/bin/planetdump-trigger]" end