]> git.openstreetmap.org Git - chef.git/blob - roles/web-frontend.rb
tilecache: minimal swapout
[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     :event => {
8       :server_limit => 20,
9       :max_request_workers => 1000,
10       :threads_per_child => 50,
11       :min_spare_threads => 50,
12       :max_spare_threads => 450,
13       :async_request_worker_factor => 4
14     }
15   },
16   :logstash => {
17     :forwarder => {
18       "filebeat.prospectors" => [
19         { "input_type" => "log", "paths" => ["/var/log/apache2/access.log"], "fields" => { "type" => "apache" } },
20         { "input_type" => "log", "paths" => ["/var/log/web/rails-logstash.log"], "fields" => { "type" => "rails" } }
21       ]
22     }
23   },
24   :networking => {
25     :tcp_fastopen_key => "www"
26   },
27   :passenger => {
28     :max_pool_size => 50
29   },
30   :exim => {
31     :local_domains => ["messages.openstreetmap.org"],
32     :routes => {
33       :messages => {
34         :comment => "messages.openstreetmap.org",
35         :domains => ["messages.openstreetmap.org"],
36         :command => "/usr/local/bin/passenger-ruby /srv/www.openstreetmap.org/rails/script/deliver-message $local_part",
37         :user => "rails",
38         :group => "rails",
39         :home_directory => "/srv/www.openstreetmap.org/rails",
40         :path => "/bin:/usr/bin:/usr/local/bin",
41         :environment => {
42           "RAILS_ENV" => "production"
43         }
44       }
45     }
46   }
47 )
48
49 run_list(
50   "role[web]",
51   "role[logstash-forwarder]",
52   "recipe[web::frontend]"
53 )