include_recipe "accounts"
include_recipe "munin"
include_recipe "php::fpm"
+include_recipe "prometheus"
basedir = data_bag_item("accounts", "nominatim")["home"]
email_errors = data_bag_item("accounts", "lonvia")["email"]
python3-psutil
python3-jinja2
python3-icu
+ python3-datrie
php-pgsql
php-intl
php-symfony-dotenv
+ ruby
+ ruby-file-tail
+ ruby-pg
]
source_directory = "#{basedir}/nominatim"
action :delete
end
- cron_d "nominatim-update-maintenance-trigger" do
+ systemd_timer "nominatim-update-maintenance-trigger" do
action :delete
end
else
mailto email_errors
end
- cron_d "nominatim-update-maintenance-trigger" do
- minute "18"
- hour "1"
+ systemd_service "nominatim-update-maintenance-trigger" do
+ description "Trigger maintenance tasks for Nominatim DB"
+ exec_start "touch #{basedir}/status/update_maintenance"
user "nominatim"
- command "touch #{basedir}/status/update_maintenance"
- mailto email_errors
+ end
+
+ systemd_timer "nominatim-update-maintenance-trigger" do
+ action :create
+ description "Schedule maintenance tasks for Nominatim DB"
+ on_calendar "*-*-* 02:03:00 UTC"
+ end
+
+ service "nominatim-update-maintenance-trigger" do
+ action [:enable]
end
end
target "#{source_directory}/munin/nominatim_requests_querylog"
end
+prometheus_exporter "nominatim" do
+ port 8082
+ user "www-data"
+ options [
+ "--nominatim.query-log=#{node[:nominatim][:logdir]}/query.log",
+ "--nominatim.database-name=#{node[:nominatim][:dbname]}"
+ ]
+end
+
directory "#{basedir}/status" do
owner "nominatim"
group "postgres"