X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/aa1f26f044f0f2238f1cb0fdf8ec0879bc44d639..a4777dddfb2c769864094ec928d5bdcfdd411cc2:/cookbooks/planet/recipes/dump.rb diff --git a/cookbooks/planet/recipes/dump.rb b/cookbooks/planet/recipes/dump.rb index a5e9a5fff..39c8196dd 100644 --- a/cookbooks/planet/recipes/dump.rb +++ b/cookbooks/planet/recipes/dump.rb @@ -18,10 +18,10 @@ # node.default[:incron][:planetdump] = { - :user => "www-data", + :user => "root", :path => "/store/backup", :events => %w[IN_CREATE IN_MOVED_TO], - :command => "/usr/local/bin/planetdump $#" + :command => "/bin/systemctl start planetdump@$#" } include_recipe "git" @@ -29,9 +29,11 @@ include_recipe "incron" package %w[ gcc + g++ make autoconf automake + pkg-config libxml2-dev libboost-dev libboost-program-options-dev @@ -45,18 +47,22 @@ package %w[ pbzip2 php-cli php-curl + mktorrent + xmlstarlet + libxml2-utils ] directory "/opt/planet-dump-ng" do owner "root" group "root" - mode 0o755 + mode "755" end git "/opt/planet-dump-ng" do action :sync - repository "git://github.com/zerebubuth/planet-dump-ng.git" - revision "v1.1.6" + repository "https://github.com/zerebubuth/planet-dump-ng.git" + revision "v1.2.6" + depth 1 user "root" group "root" end @@ -91,7 +97,8 @@ end directory "/store/planetdump" do owner "www-data" group "www-data" - mode 0o755 + mode "755" + recursive true end %w[planetdump planet-mirror-redirect-update].each do |program| @@ -99,13 +106,40 @@ end 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 "www-data" + exec_start "/usr/local/bin/planetdump %i" + memory_max "64G" + sandbox true + read_write_paths [ + "/store/planetdump", + "/store/planet/pbf", + "/store/planet/planet", + "/var/log/exim4", + "/var/spool/exim4" + ] +end + +systemd_service "planet-dump-mirror" do + description "Update planet dump mirrors" + exec_start "/usr/local/bin/planet-mirror-redirect-update" + user "www-data" + sandbox :enable_network => true + memory_deny_write_execute false + read_write_paths "/store/planet/.htaccess" +end + +systemd_timer "planet-dump-mirror" do + description "Update planet dump mirrors" + on_boot_sec "10min" + on_unit_inactive_sec "10min" +end + +service "planet-dump-mirror.timer" do + action [:enable, :start] end