X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/40836bb2a0d4d9462d746c78d5084e1c9379bae9..88c3da7e61393b6f78f9e6c6619cb0458fdce55a:/roles/web-frontend.rb diff --git a/roles/web-frontend.rb b/roles/web-frontend.rb index 0435872dd..5221de62d 100644 --- a/roles/web-frontend.rb +++ b/roles/web-frontend.rb @@ -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,14 +21,19 @@ 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 => { - :tcp_fastopen_key => "www" + :firewall => { + :http_rate_limit => "s:5/sec:30" + } }, :passenger => { :max_pool_size => 50 @@ -33,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 } } }