]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/nominatim/recipes/default.rb
remove date from nominatim fail2ban regex
[chef.git] / cookbooks / nominatim / recipes / default.rb
index 5b6eec45c21bea5a5e62a4e9f5a3a79b32dc3c4a..63734cdb8046d55b6b248caf8706ba8aaf162e66 100644 (file)
 basedir = data_bag_item("accounts", "nominatim")["home"]
 email_errors = data_bag_item("accounts", "lonvia")["email"]
 
+directory basedir do
+  owner "nominatim"
+  group "nominatim"
+  mode 0o755
+  recursive true
+end
+
 directory node[:nominatim][:logdir] do
   owner "nominatim"
   group "nominatim"
@@ -41,12 +48,6 @@ file "#{node[:nominatim][:logdir]}/update.log" do
   mode 0o664
 end
 
-directory "#{basedir}/status" do
-  owner "nominatim"
-  group "postgres"
-  mode 0o775
-end
-
 ## Postgresql
 
 include_recipe "postgresql"
@@ -104,29 +105,28 @@ node[:nominatim][:tablespaces].each do |name, location|
   end
 end
 
-postgresql_user "replication" do
-  cluster node[:nominatim][:dbcluster]
-  password data_bag_item("nominatim", "passwords")["replication"]
-  replication true
-  only_if { node[:nominatim][:state] == "master" }
-end
+if node[:nominatim][:state] == "master" # ~FC023
+  postgresql_user "replication" do
+    cluster node[:nominatim][:dbcluster]
+    password data_bag_item("nominatim", "passwords")["replication"]
+    replication true
+  end
 
-directory node[:rsyncd][:modules][:archive][:path] do
-  owner "postgres"
-  group "postgres"
-  mode 0o700
-  only_if { node[:nominatim][:state] == "master" }
-end
+  directory node[:rsyncd][:modules][:archive][:path] do
+    owner "postgres"
+    group "postgres"
+    mode 0o700
+  end
 
-template "/usr/local/bin/clean-db-nominatim" do
-  source "clean-db-nominatim.erb"
-  owner "root"
-  group "root"
-  mode 0o755
-  variables :archive_dir => node[:rsyncd][:modules][:archive][:path],
-            :update_stop_file => "#{basedir}/status/updates_disabled",
-            :streaming_clients => search(:node, "nominatim_state:slave").map { |slave| slave[:fdqn] }.join(" ")
-  only_if { node[:nominatim][:state] == "master" }
+  template "/usr/local/bin/clean-db-nominatim" do
+    source "clean-db-nominatim.erb"
+    owner "root"
+    group "root"
+    mode 0o755
+    variables :archive_dir => node[:rsyncd][:modules][:archive][:path],
+              :update_stop_file => "#{basedir}/status/updates_disabled",
+              :streaming_clients => search(:node, "nominatim_state:slave").map { |slave| slave[:fqdn] }.join(" ")
+  end
 end
 
 ## Nominatim backend
@@ -195,7 +195,8 @@ template "#{build_directory}/settings/local.php" do
   owner "nominatim"
   group "nominatim"
   mode 0o664
-  variables :dbname => node[:nominatim][:dbname],
+  variables :base_url => node[:nominatim][:state] == "off" ? node[:fqdn] : "nominatim.openstreetmap.org",
+            :dbname => node[:nominatim][:dbname],
             :flatnode_file => node[:nominatim][:flatnode_file],
             :log_file => "#{node[:nominatim][:logdir]}/query.log"
 end
@@ -243,6 +244,11 @@ template "#{source_directory}/utils/nominatim-update" do
   user "nominatim"
   group "nominatim"
   mode 0o755
+  variables :bindir => build_directory,
+            :srcdir => source_directory,
+            :logfile => "#{node[:nominatim][:logdir]}/update.log",
+            :branch => node[:nominatim][:revision],
+            :update_stop_file => "#{basedir}/status/updates_disabled"
 end
 
 template "/etc/init.d/nominatim-update" do
@@ -265,7 +271,7 @@ end
 
 ## webserver frontend
 
-template "#{source_directory}/settings/ip_blocks.conf" do
+template "#{build_directory}/settings/ip_blocks.conf" do
   action :create_if_missing
   source "ipblocks.erb"
   owner "nominatim"
@@ -273,14 +279,14 @@ template "#{source_directory}/settings/ip_blocks.conf" do
   mode 0o664
 end
 
-file "#{source_directory}/settings/apache_blocks.conf" do
+file "#{build_directory}/settings/apache_blocks.conf" do
   action :create_if_missing
   owner "nominatim"
   group "nominatim"
   mode 0o664
 end
 
-file "#{source_directory}/settings/ip_blocks.map" do
+file "#{build_directory}/settings/ip_blocks.map" do
   action :create_if_missing
   owner "nominatim"
   group "nominatim"
@@ -327,7 +333,7 @@ end
 
 apache_site "nominatim.openstreetmap.org" do
   template "apache.erb"
-  directory source_directory
+  directory build_directory
   variables :pools => node[:nominatim][:fpm_pools]
 end
 
@@ -345,7 +351,7 @@ end
 include_recipe "fail2ban"
 
 fail2ban_filter "nominatim" do
-  failregex '^<HOST> - - \[[^]]+\] "[^"]+" 429 '
+  failregex '^<HOST> - - \[\] "[^"]+" 429 '
 end
 
 fail2ban_jail "nominatim" do
@@ -376,3 +382,9 @@ end
 munin_plugin "nominatim_throttled_ips" do
   target "#{source_directory}/munin/nominatim_throttled_ips"
 end
+
+directory "#{basedir}/status" do
+  owner "nominatim"
+  group "postgres"
+  mode 0o775
+end