From bb0c215d5c11e206a217331c6620545d5c2e265f Mon Sep 17 00:00:00 2001 From: Sarah Hoffmann Date: Tue, 31 Aug 2021 10:49:43 +0200 Subject: [PATCH] nominatim: add qa tile generation --- cookbooks/nominatim/attributes/default.rb | 3 ++ cookbooks/nominatim/recipes/default.rb | 39 +++++++++++++++++++ .../nominatim/templates/default/qa_config.erb | 9 +++++ roles/stormfly-04.rb | 1 + 4 files changed, 52 insertions(+) create mode 100644 cookbooks/nominatim/templates/default/qa_config.erb diff --git a/cookbooks/nominatim/attributes/default.rb b/cookbooks/nominatim/attributes/default.rb index 55a2d836d..32699dc6d 100644 --- a/cookbooks/nominatim/attributes/default.rb +++ b/cookbooks/nominatim/attributes/default.rb @@ -9,8 +9,11 @@ default[:nominatim][:repository] = "https://git.openstreetmap.org/public/nominat default[:nominatim][:revision] = "master" default[:nominatim][:enable_backup] = false default[:nominatim][:enable_git_updates] = true +default[:nominatim][:enable_qa_tiles] = false default[:nominatim][:ui_repository] = "https://git.openstreetmap.org/public/nominatim-ui.git" default[:nominatim][:ui_revision] = "master" +default[:nominatim][:qa_repository] = "https://github.com/osm-search/Nominatim-Data-Analyser" +default[:nominatim][:qa_revision] = "main" default[:nominatim][:fpm_pools] = { "nominatim.openstreetmap.org" => { diff --git a/cookbooks/nominatim/recipes/default.rb b/cookbooks/nominatim/recipes/default.rb index dd6b249b4..b5c7c4ce1 100644 --- a/cookbooks/nominatim/recipes/default.rb +++ b/cookbooks/nominatim/recipes/default.rb @@ -180,6 +180,8 @@ package %w[ source_directory = "#{basedir}/nominatim" build_directory = "#{basedir}/bin" ui_directory = "#{basedir}/ui" +qa_bin_directory = "#{basedir}/Nominatim-Data-Analyser" +qa_data_directory = "#{basedir}/qa-data" directory build_directory do owner "nominatim" @@ -473,3 +475,40 @@ fail2ban_jail "nominatim_limit_req" do maxretry 20 ignoreips frontend_addresses.flatten.sort end + +### QA tile generation + +if node[:nominatim][:enable_qa_tiles] + git qa_bin_directory do + repository node[:nominatim][:qa_repository] + revision node[:nominatim][:qa_revision] + enable_submodules true + user "nominatim" + group "nominatim" + notifies :run, "execute[compile_qa]" + end + + execute "compile_nominatim" do + action :nothing + user "nominatim" + cwd "#{qa_bin_directory}/clustering-vt" + command "make" + end + + directory qa_data_directory do + owner "nominatim" + group "nominatim" + mode "755" + recursive true + end + + template "#{qa_bin_directory}/analyser/config/config.yaml" do + source "qa_config.erb" + owner "nominatim" + group "nominatim" + mode "755" + variables :outputdir => "#{qa_data_directory}/new" + end + + +end diff --git a/cookbooks/nominatim/templates/default/qa_config.erb b/cookbooks/nominatim/templates/default/qa_config.erb new file mode 100644 index 000000000..904ada808 --- /dev/null +++ b/cookbooks/nominatim/templates/default/qa_config.erb @@ -0,0 +1,9 @@ +# DO NOT EDIT - This file is being maintained by Chef +#Data source name for the database connection. +Dsn: 'dbname=<%= node[:nominatim][:dbname] %>' + +#Path to the folder where rules data are stored (geojson, vector tiles, etc). +RulesFolderPath: '<%= @outputdir %>' + +#Prefix path of the web URL to access the rules data (ex: https://nominatim.org/QA-data). +WebPrefixPath: 'https://<%= node[:fqdn] %>/qa-data' diff --git a/roles/stormfly-04.rb b/roles/stormfly-04.rb index af518eb91..39a74947d 100644 --- a/roles/stormfly-04.rb +++ b/roles/stormfly-04.rb @@ -41,6 +41,7 @@ default_attributes( :state => "standalone", :enable_backup => false, :enable_git_updates => true, + :enable_qa_tiles => true, :dbadmins => %w[lonvia tomh], :dbcluster => "12/main", :postgis => "2.5", -- 2.43.2