]> git.openstreetmap.org Git - chef.git/blob - roles/nominatim.rb
Modernise more LWRPs
[chef.git] / roles / nominatim.rb
1 name "nominatim"
2 description "Role applied to all nominatim servers."
3
4 default_attributes(
5   :accounts => {
6     :users => {
7       :lonvia => { :status => :administrator },
8       :twain => { :status => :administrator },
9       :nominatim => {
10         :status => :role,
11         :members => [:lonvia, :tomh, :twain]
12       }
13     }
14   },
15   :apache => {
16     :mpm => "event",
17     :timeout => 60,
18     :keepalive => false,
19     :reqtimeout => true,
20     :event => {
21       :server_limit => 32,
22       :max_request_workers => 1600,
23       :threads_per_child => 50
24     }
25   },
26   :apt => {
27     :sources => ["postgresql"]
28   },
29   :postgresql => {
30     :settings => {
31       :defaults => {
32         :max_connections => "450",
33         :synchronous_commit => "off",
34         :checkpoint_segments => "32",
35         :checkpoint_timeout => "10min",
36         :checkpoint_completion_target => "0.9",
37         :shared_buffers => "2GB",
38         :autovacuum_max_workers => "1"
39       }
40     }
41   },
42   :sysctl => {
43     :postgres => {
44       :comment => "Increase shared memory for postgres",
45       :parameters => {
46         "kernel.shmmax" => 26 * 1024 * 1024 * 1024,
47         "kernel.shmall" => 26 * 1024 * 1024 * 1024 / 4096
48       }
49     },
50     :kernel_scheduler_tune => {
51       :comment => "Tune kernel scheduler preempt",
52       :parameters => {
53         "kernel.sched_min_granularity_ns" => 10000000,
54         "kernel.sched_wakeup_granularity_ns" => 15000000
55       }
56     },
57     :swappiness => {
58       :comment => "Reduce swap usage",
59       :parameters => {
60         "vm.swappiness" => 10
61       }
62     },
63     :network_conntrack_time_wait => {
64       :comment => "Only track completed connections for 30 seconds",
65       :parameters => {
66         "net.netfilter.nf_conntrack_tcp_timeout_time_wait" => "30"
67       }
68     },
69     :network_conntrack_max => {
70       :comment => "Increase max number of connections tracked",
71       :parameters => {
72         "net.netfilter.nf_conntrack_max" => "131072"
73       }
74     }
75   }
76 )
77
78 run_list(
79   "recipe[nominatim::default]"
80 )