From 7710e00d9f2c809cf2349d43c6ae10ee01f36b62 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Sun, 8 Nov 2020 11:50:59 +0000 Subject: [PATCH] Configure osmdbt based minutely replication service --- cookbooks/planet/recipes/replication.rb | 26 +++++++++++++++++++ .../templates/default/replicate-minute.erb | 10 +++++++ 2 files changed, 36 insertions(+) create mode 100644 cookbooks/planet/templates/default/replicate-minute.erb diff --git a/cookbooks/planet/recipes/replication.rb b/cookbooks/planet/recipes/replication.rb index c588de1ae..84fd53d9d 100644 --- a/cookbooks/planet/recipes/replication.rb +++ b/cookbooks/planet/recipes/replication.rb @@ -66,6 +66,13 @@ remote_directory "/usr/local/bin" do files_mode "755" end +template "/usr/local/bin/replicate-minute" do + source "replicate-minute.erb" + owner "root" + group "root" + mode "755" +end + template "/usr/local/bin/users-agreed" do source "users-agreed.erb" owner "root" @@ -184,6 +191,19 @@ file "/etc/replication/osmdbt-config.yaml" do content YAML.dump(osmdbt_config) end +systemd_service "replication-minutely" do + description "Minutely replication" + user "planet" + working_directory "/etc/replication" + exec_start "/usr/local/bin/replicate-minute" + private_tmp true + private_devices true + protect_system "full" + protect_home true + restrict_address_families %w[AF_INET AF_INET6] + no_new_privileges true +end + template "/etc/replication/changesets.conf" do source "changesets.conf.erb" user "root" @@ -271,6 +291,12 @@ if node[:planet][:replication] == "enabled" mailto "zerebubuth@gmail.com" end + systemd_timer "replication-minutely" do + description "Minutely replication" + on_boot_sec 60 + on_unit_active_sec 60 + end + cron_d "replication-minutely" do user "planet" command "/usr/local/bin/osmosis -q --replicate-apidb authFile=/etc/replication/auth.conf validateSchemaVersion=false --write-replication workingDirectory=/store/planet/replication/minute" diff --git a/cookbooks/planet/templates/default/replicate-minute.erb b/cookbooks/planet/templates/default/replicate-minute.erb new file mode 100644 index 000000000..79c394bd0 --- /dev/null +++ b/cookbooks/planet/templates/default/replicate-minute.erb @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +cd /etc/replication + +osmdbt-catchup --quiet +osmdbt-get-log --quiet +osmdbt-catchup --quiet +osmdbt-create-diff --quiet -- 2.45.1