]> git.openstreetmap.org Git - chef.git/blobdiff - roles/web-frontend.rb
overpass: workaround blank pyosmium-get-changes diff-type default
[chef.git] / roles / web-frontend.rb
index 3ecca30ff085b385f7782e3be0dabf4b13b9fd81..5221de62dcb778301cda0479533311f3504aa23d 100644 (file)
@@ -4,6 +4,12 @@ description "Role applied to all web/api frontend servers"
 default_attributes(
   :apache => {
     :mpm => "event",
+    :evasive => {
+      :page_count => 100,
+      :site_count => 100,
+      :blocking_period => 30,
+      :enable => false
+    },
     :event => {
       :server_limit => 20,
       :max_request_workers => 1000,
@@ -15,12 +21,20 @@ default_attributes(
   },
   :logstash => {
     :forwarder => {
-      "filebeat.prospectors" => [
-        { "input_type" => "log", "paths" => ["/var/log/apache2/access.log"], "fields" => { "type" => "apache" } },
-        { "input_type" => "log", "paths" => ["/var/log/web/rails-logstash.log"], "fields" => { "type" => "rails" } }
+      "filebeat.inputs" => [
+        { "type" => "filestream", "id" => "apache", "paths" => ["/var/log/apache2/access.log"], "fields" => { "type" => "apache" }, "fields_under_root" => true },
+        { "type" => "filestream", "id" => "rails", "paths" => ["/var/log/web/rails-logstash.log"], "fields" => { "type" => "rails" }, "fields_under_root" => true }
       ]
     }
   },
+  :memcached => {
+    :memory_limit => 8192
+  },
+  :networking => {
+    :firewall => {
+      :http_rate_limit => "s:5/sec:30"
+    }
+  },
   :passenger => {
     :max_pool_size => 50
   },
@@ -30,14 +44,13 @@ default_attributes(
       :messages => {
         :comment => "messages.openstreetmap.org",
         :domains => ["messages.openstreetmap.org"],
-        :command => "/usr/local/bin/passenger-ruby /srv/www.openstreetmap.org/rails/script/deliver-message $local_part",
+        :local_parts => ["${lookup{$local_part}lsearch*,ret=key{/etc/exim4/detaint}}"],
+        :command => "/usr/local/bin/deliver-message $local_part_data",
         :user => "rails",
         :group => "rails",
         :home_directory => "/srv/www.openstreetmap.org/rails",
         :path => "/bin:/usr/bin:/usr/local/bin",
-        :environment => {
-          "RAILS_ENV" => "production"
-        }
+        :case_sensitive => true
       }
     }
   }