X-Git-Url: https://git.openstreetmap.org/chef.git/blobdiff_plain/21958591555b0b80370e944e3128ac5d533c281d..8dddf4e274d403d5758f6773e856c79adac5aed5:/cookbooks/web/recipes/cgimap.rb diff --git a/cookbooks/web/recipes/cgimap.rb b/cookbooks/web/recipes/cgimap.rb index 891609fd0..26fb2c41d 100644 --- a/cookbooks/web/recipes/cgimap.rb +++ b/cookbooks/web/recipes/cgimap.rb @@ -22,10 +22,12 @@ include_recipe "web::base" db_passwords = data_bag_item("db", "passwords") +package "g++" package "gcc" package "make" package "autoconf" package "automake" +package "libtool" package "libfcgi-dev" package "libxml2-dev" package "libmemcached-dev" @@ -33,6 +35,7 @@ package "libboost-regex-dev" package "libboost-system-dev" package "libboost-program-options-dev" package "libboost-date-time-dev" +package "libboost-filesystem-dev" package "libpqxx3-dev" package "zlib1g-dev" @@ -83,6 +86,8 @@ else database_readonly = node[:web][:status] == "database_readonly" end +backends = node[:web][:backends] + cgimap_init = edit_file "#{cgimap_directory}/scripts/cgimap.init" do |line| line.gsub!(/^CGIMAP_HOST=.*;/, "CGIMAP_HOST=#{database_host};") line.gsub!(/^CGIMAP_DBNAME=.*;/, "CGIMAP_DBNAME=openstreetmap;") @@ -90,9 +95,12 @@ cgimap_init = edit_file "#{cgimap_directory}/scripts/cgimap.init" do |line| line.gsub!(/^CGIMAP_PASSWORD=.*;/, "CGIMAP_PASSWORD=#{db_passwords['rails']};") line.gsub!(/^CGIMAP_PIDFILE=.*;/, "CGIMAP_PIDFILE=#{pid_directory}/cgimap.pid;") line.gsub!(/^CGIMAP_LOGFILE=.*;/, "CGIMAP_LOGFILE=#{log_directory}/cgimap.log;") - line.gsub!(/^CGIMAP_MEMCACHE=.*;/, "CGIMAP_MEMCACHE=rails1,rails2,rails3;") + line.gsub!(/^CGIMAP_MEMCACHE=.*;/, "CGIMAP_MEMCACHE=#{backends.join(',')};") + line.gsub!(/^CGIMAP_RATELIMIT=.*;/, "CGIMAP_RATELIMIT=204800;") + + line.gsub!(%r{--pidfile \$CGIMAP_PIDFILE --exec /home/rails/bin/map}, "--pidfile $CGIMAP_PIDFILE") - line.gsub!(/\/home\/rails\/bin\/map/, "#{cgimap_directory}/map") + line.gsub!(%r{/home/rails/bin/map}, "#{cgimap_directory}/map") if database_readonly line.gsub!(/--daemon/, "--daemon --readonly")