]> git.openstreetmap.org Git - chef.git/blob - roles/karm.rb
e9ba46a384b00bddadeb5d35c372ca30045cbbf2
[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 => "enp1s0f0",
15         :role => :internal,
16         :family => :inet,
17         :address => "146.179.159.168",
18         :hwaddress => "0c:c4:7a:a3:aa:ac"
19       }
20     }
21   },
22   :postgresql => {
23     :settings => {
24       :defaults => {
25         :shared_buffers => "64GB",
26         :work_mem => "64MB",
27         :maintenance_work_mem => "1GB",
28         :effective_cache_size => "180GB",
29         :effective_io_concurrency => "256"
30       }
31     },
32     :versions => ["9.5"]
33   },
34   :sysctl => {
35     :postgres => {
36       :comment => "Increase shared memory for postgres",
37       :parameters => {
38         "kernel.shmmax" => 66 * 1024 * 1024 * 1024,
39         "kernel.shmall" => 66 * 1024 * 1024 * 1024 / 4096
40       }
41     }
42   },
43   :sysfs => {
44     :md_tune => {
45       :comment => "Enable request merging for NVMe devices",
46       :parameters => {
47         "block/nvme0n1/queue/nomerges" => "1",
48         "block/nvme1n1/queue/nomerges" => "1",
49         "block/nvme2n1/queue/nomerges" => "1",
50         "block/nvme3n1/queue/nomerges" => "1",
51         "block/nvme4n1/queue/nomerges" => "1",
52         "block/nvme5n1/queue/nomerges" => "1"
53       }
54     }
55   }
56 )
57
58 run_list(
59   "role[ic]",
60   "role[db-master]"
61 )