X-Git-Url: https://git.openstreetmap.org./chef.git/blobdiff_plain/7013f21316fbdc86a8a36c7aea7f908878db6ef7..e693cad1797b863b72437a1f06850e9c98b45ba1:/roles/web-frontend.rb diff --git a/roles/web-frontend.rb b/roles/web-frontend.rb index d6c144a68..396cf36db 100644 --- a/roles/web-frontend.rb +++ b/roles/web-frontend.rb @@ -4,21 +4,27 @@ 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 => 40, + :server_limit => 20, :max_request_workers => 1000, - :min_spare_threads => 50, - :max_spare_threads => 150, :threads_per_child => 50, - :max_connections_per_child => 10000 + :min_spare_threads => 50, + :max_spare_threads => 450, + :async_request_worker_factor => 4 } }, - :logstash => { - :forwarder => { - :files => [ - { :paths => ["/var/log/apache2/access.log"], :fields => { :type => "apache" } }, - { :paths => ["/var/log/web/rails-logstash.log"], :fields => { :type => "rails" } } - ] + :memcached => { + :memory_limit => 8192 + }, + :networking => { + :firewall => { + :http_rate_limit => "s:5/sec:30" } }, :passenger => { @@ -26,16 +32,17 @@ default_attributes( }, :exim => { :local_domains => ["messages.openstreetmap.org"], - :trusted_users => ["rails"], :routes => { :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" + :path => "/bin:/usr/bin:/usr/local/bin", + :case_sensitive => true } } } @@ -43,6 +50,5 @@ default_attributes( run_list( "role[web]", - "role[logstash-forwarder]", "recipe[web::frontend]" )