X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/18e12b0e123fc3e5f344682f884feabc12da0f5a..f7628dac50cd43cd44bb4f7e5c343fe990b5af3f:/cookbooks/planet/recipes/notes.rb diff --git a/cookbooks/planet/recipes/notes.rb b/cookbooks/planet/recipes/notes.rb index b80d42d7e..e63297081 100644 --- a/cookbooks/planet/recipes/notes.rb +++ b/cookbooks/planet/recipes/notes.rb @@ -1,8 +1,8 @@ # -# Cookbook Name:: planet +# Cookbook:: planet # Recipe:: notes # -# Copyright 2013, OpenStreetMap Foundation +# Copyright:: 2013, OpenStreetMap Foundation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -17,22 +17,29 @@ # limitations under the License. # +include_recipe "accounts" include_recipe "git" +include_recipe "planet::aws" db_passwords = data_bag_item("db", "passwords") -package "python-psycopg2" -package "python-lxml" +package %w[ + pbzip2 + python3 + python3-psycopg2 + python3-lxml +] directory "/opt/planet-notes-dump" do owner "root" group "root" - mode 0o755 + mode "755" end git "/opt/planet-notes-dump" do action :sync - repository "git://github.com/openstreetmap/planet-notes-dump.git" + repository "https://github.com/openstreetmap/planet-notes-dump.git" + depth 1 user "root" group "root" end @@ -41,13 +48,49 @@ template "/usr/local/bin/planet-notes-dump" do source "planet-notes-dump.erb" owner "root" group "root" - mode 0o755 + mode "755" variables :password => db_passwords["planetdump"] end -template "/etc/cron.d/planet-notes-dump" do - source "planet-notes-dump.cron.erb" +systemd_service "planet-notes-dump" do + description "Create notes dump" + exec_start "/usr/local/bin/planet-notes-dump" + user "planet" + sandbox :enable_network => true + protect_home "tmpfs" + bind_paths "/home/planet" + read_write_paths "/store/planet/notes" +end + +systemd_timer "planet-notes-dump" do + description "Create notes dump" + on_calendar "03:00" +end + +service "planet-notes-dump.timer" do + action [:enable, :start] +end + +template "/usr/local/bin/planet-notes-cleanup" do + source "planet-notes-cleanup.erb" owner "root" group "root" - mode 0o644 + mode "755" +end + +systemd_service "planet-notes-cleanup" do + description "Delete old notes dumps" + exec_start "/usr/local/bin/planet-notes-cleanup" + user "planet" + sandbox true + read_write_paths "/store/planet/notes" +end + +systemd_timer "planet-notes-cleanup" do + description "Delete old notes dumps" + on_calendar "08:10" +end + +service "planet-notes-cleanup.timer" do + action [:enable, :start] end