]> git.openstreetmap.org Git - chef.git/blob - roles/karm.rb
Move cron customisation for tile caches to the tools cookbook
[chef.git] / roles / karm.rb
1 name "karm"
2 description "Master role applied to karm"
3
4 default_attributes(
5   :apt => {
6     :sources => ["postgresql"]
7   },
8   :db => {
9     :cluster => "9.5/main"
10   },
11   :networking => {
12     :interfaces => {
13       :internal_ipv4 => {
14         :interface => "bond0",
15         :role => :internal,
16         :family => :inet,
17         :address => "10.0.48.50",
18         :bond => {
19           :slaves => %w[enp1s0f0 enp1s0f1]
20         }
21       }
22     }
23   },
24   :postgresql => {
25     :settings => {
26       :defaults => {
27         :shared_buffers => "64GB",
28         :work_mem => "64MB",
29         :maintenance_work_mem => "1GB",
30         :effective_cache_size => "180GB",
31         :effective_io_concurrency => "256",
32         :random_page_cost => "1.1"
33       }
34     }
35   },
36   :sysctl => {
37     :postgres => {
38       :comment => "Increase shared memory for postgres",
39       :parameters => {
40         "kernel.shmmax" => 66 * 1024 * 1024 * 1024,
41         "kernel.shmall" => 66 * 1024 * 1024 * 1024 / 4096
42       }
43     }
44   }
45 )
46
47 run_list(
48   "role[equinix]",
49   "role[db-master]",
50   "role[db-backup]"
51 )