]> git.openstreetmap.org Git - chef.git/blobdiff - cookbooks/nominatim/recipes/base.rb
nominatim: run git update in source directory
[chef.git] / cookbooks / nominatim / recipes / base.rb
index 2e6a8c12550cb6d34e6c62e399bba4b2a7c75c1a..242ada30d08beee1c67670738f34733893bbe582 100644 (file)
@@ -26,11 +26,13 @@ package "php5-pgsql"
 package "php5-fpm"
 package "php-pear"
 package "php-apc"
+package "php-db"
 
 apache_module "rewrite"
 apache_module "proxy"
 apache_module "proxy_fcgi"
 apache_module "proxy_http"
+apache_module "headers"
 
 home_directory = data_bag_item("accounts", "nominatim")["home"]
 source_directory = "#{home_directory}/nominatim"
@@ -53,7 +55,7 @@ node[:nominatim][:fpm_pools].each do |name, data|
     source "fpm.conf.erb"
     owner "root"
     group "root"
-    mode 0644
+    mode 0o644
     variables data.merge(:name => name, :port => data[:port])
     notifies :reload, "service[php5-fpm]"
   end
@@ -64,23 +66,45 @@ postgresql_munin "nominatim" do
   database database_name
 end
 
-directory "/var/log/nominatim" do
+directory node[:nominatim][:logdir] do
   owner "nominatim"
   group "nominatim"
-  mode 0755
+  mode 0o755
+  recursive true
+end
+
+file "#{node[:nominatim][:logdir]}/query.log" do
+  action :create_if_missing
+  owner "www-data"
+  group "adm"
+  mode 0o664
+end
+
+file "#{node[:nominatim][:logdir]}/update.log" do
+  action :create_if_missing
+  owner "nominatim"
+  group "adm"
+  mode 0o664
 end
 
 directory "#{home_directory}/status" do
   owner "nominatim"
   group "postgres"
-  mode 0775
+  mode 0o775
 end
 
 template "/etc/logrotate.d/nominatim" do
   source "logrotate.nominatim.erb"
   owner "root"
   group "root"
-  mode 0644
+  mode 0o644
+end
+
+template "/etc/logrotate.d/apache2" do
+  source "logrotate.apache.erb"
+  owner "root"
+  group "root"
+  mode 0o644
 end
 
 package "osmosis"
@@ -91,6 +115,7 @@ package "postgresql-#{database_version}-postgis-#{postgis_version}"
 package "postgresql-server-dev-#{database_version}"
 package "build-essential"
 package "libxml2-dev"
+package "libexpat-dev"
 package "libgeos-dev"
 package "libgeos++-dev"
 package "libpq-dev"
@@ -106,28 +131,17 @@ package "libboost-system-dev"
 package "libboost-filesystem-dev"
 package "libboost-thread-dev"
 
-execute "php-pear-db" do
-  command "pear install DB"
-  not_if { File.exist?("/usr/share/php/DB") }
-end
-
 execute "compile_nominatim" do
   action :nothing
   command "cd #{source_directory} && ./autogen.sh && ./configure && make"
   user "nominatim"
 end
 
-directory "#{source_directory}/log" do
-  owner "nominatim"
-  group "nominatim"
-  mode 0755
-end
-
 template "#{source_directory}/.git/hooks/post-merge" do
   source "update_source.erb"
   owner "nominatim"
   group "nominatim"
-  mode 0755
+  mode 0o755
   variables :source_directory => source_directory
 end
 
@@ -135,7 +149,7 @@ template "#{source_directory}/settings/local.php" do
   source "nominatim.erb"
   owner "nominatim"
   group "nominatim"
-  mode 0664
+  mode 0o664
   variables :postgres_version => database_version
 end
 
@@ -144,28 +158,28 @@ template "#{source_directory}/settings/ip_blocks.conf" do
   source "ipblocks.erb"
   owner "nominatim"
   group "nominatim"
-  mode 0664
+  mode 0o664
 end
 
 file "#{source_directory}/settings/apache_blocks.conf" do
   action :create_if_missing
   owner "nominatim"
   group "nominatim"
-  mode 0664
+  mode 0o664
 end
 
 file "#{source_directory}/settings/ip_blocks.map" do
   action :create_if_missing
   owner "nominatim"
   group "nominatim"
-  mode 0664
+  mode 0o664
 end
 
-if node[:nominatim][:enabled]
-  cron_action = :create
-else
-  cron_action = :delete
-end
+cron_action = if node[:nominatim][:enabled]
+                :create
+              else
+                :delete
+              end
 
 template "/etc/cron.d/nominatim" do
   action cron_action
@@ -180,19 +194,26 @@ template "#{source_directory}/utils/nominatim-update" do
   source "updater.erb"
   user "nominatim"
   group "nominatim"
-  mode 0755
+  mode 0o755
+  variables :bindir => source_directory,
+            :srcdir => source_directory,
+            :logfile => "#{node[:nominatim][:logdir]}/update.log",
+            :branch => node[:nominatim][:revision],
+            :update_stop_file => "#{home_directory}/status/updates_disabled"
 end
 
 template "/etc/init.d/nominatim-update" do
   source "updater.init.erb"
   user "nominatim"
   group "nominatim"
-  mode 0755
+  mode 0o755
   variables :source_directory => source_directory
 end
 
 munin_plugin_conf "nominatim" do
   template "munin.erb"
+  variables :db => node[:nominatim][:database][:dbname],
+            :querylog => "#{node[:nominatim][:logdir]}/query.log"
 end
 
 munin_plugin "nominatim_importlag" do
@@ -223,7 +244,7 @@ external_data.each do |fname|
     source "http://www.nominatim.org/data/#{fname}"
     owner "nominatim"
     group "nominatim"
-    mode 0644
+    mode 0o644
   end
 end
 
@@ -234,14 +255,15 @@ additional_scripts.each do |fname|
     source "#{fname}.erb"
     owner "root"
     group "root"
-    mode 0755
+    mode 0o755
+    variables :db => node[:nominatim][:database][:dbname]
   end
 end
 
 directory File.dirname(node[:nominatim][:flatnode_file]) do
   owner "nominatim"
   group "nominatim"
-  mode 0755
+  mode 0o755
   recursive true
 end