]> git.openstreetmap.org Git - chef.git/blob - roles/web-frontend.rb
community: Increase postgres connections, tweak mem and buffers
[chef.git] / roles / web-frontend.rb
1 name "web-frontend"
2 description "Role applied to all web/api frontend servers"
3
4 default_attributes(
5   :apache => {
6     :mpm => "event",
7     :evasive => {
8       :page_count => 100,
9       :site_count => 100,
10       :blocking_period => 30,
11       :enable => false
12     },
13     :event => {
14       :server_limit => 20,
15       :max_request_workers => 1000,
16       :threads_per_child => 50,
17       :min_spare_threads => 50,
18       :max_spare_threads => 450,
19       :async_request_worker_factor => 4
20     }
21   },
22   :logstash => {
23     :forwarder => {
24       "filebeat.inputs" => [
25         { "type" => "filestream", "id" => "apache", "paths" => ["/var/log/apache2/access.log"], "fields" => { "type" => "apache" }, "fields_under_root" => true },
26         { "type" => "filestream", "id" => "rails", "paths" => ["/var/log/web/rails-logstash.log"], "fields" => { "type" => "rails" }, "fields_under_root" => true }
27       ]
28     }
29   },
30   :memcached => {
31     :memory_limit => 8192
32   },
33   :networking => {
34     :firewall => {
35       :http_rate_limit => "s:5/sec:30"
36     }
37   },
38   :passenger => {
39     :max_pool_size => 50
40   },
41   :exim => {
42     :local_domains => ["messages.openstreetmap.org"],
43     :routes => {
44       :messages => {
45         :comment => "messages.openstreetmap.org",
46         :domains => ["messages.openstreetmap.org"],
47         :local_parts => ["${lookup{$local_part}lsearch*,ret=key{/etc/exim4/detaint}}"],
48         :command => "/usr/local/bin/deliver-message $local_part_data",
49         :user => "rails",
50         :group => "rails",
51         :home_directory => "/srv/www.openstreetmap.org/rails",
52         :path => "/bin:/usr/bin:/usr/local/bin",
53         :case_sensitive => true
54       }
55     }
56   }
57 )
58
59 run_list(
60   "role[web]",
61   "role[logstash-forwarder]",
62   "recipe[web::frontend]"
63 )