]> git.openstreetmap.org Git - chef.git/blobdiff - roles/web-frontend.rb
devices: enable nvme.poll_queues if supported
[chef.git] / roles / web-frontend.rb
index faa1017de89d6655a843bf95530f10ff28e03be2..b5597adb67278a6628e506ad382d778308e2330f 100644 (file)
@@ -5,12 +5,28 @@ default_attributes(
   :apache => {
     :mpm => "event",
     :event => {
-      :server_limit => 40,
-      :max_clients => 1000,
-      :min_spare_threads => 50,
-      :max_spare_threads => 150,
+      :server_limit => 20,
+      :max_request_workers => 1000,
       :threads_per_child => 50,
-      :max_requests_per_child => 10000
+      :min_spare_threads => 50,
+      :max_spare_threads => 450,
+      :async_request_worker_factor => 4
+    }
+  },
+  :logstash => {
+    :forwarder => {
+      "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 => {
@@ -18,15 +34,17 @@ default_attributes(
   },
   :exim => {
     :local_domains => ["messages.openstreetmap.org"],
-    :trusted_users => ["rails"],
     :routes => {
       :messages => {
         :comment => "messages.openstreetmap.org",
         :domains => ["messages.openstreetmap.org"],
-        :command => "/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"
+        :home_directory => "/srv/www.openstreetmap.org/rails",
+        :path => "/bin:/usr/bin:/usr/local/bin",
+        :case_sensitive => true
       }
     }
   }
@@ -34,5 +52,6 @@ default_attributes(
 
 run_list(
   "role[web]",
+  "role[logstash-forwarder]",
   "recipe[web::frontend]"
 )