]> git.openstreetmap.org Git - chef.git/blob - roles/odin.rb
32791077da47f9069346d201500407cb9b332978
[chef.git] / roles / odin.rb
1 name "odin"
2 description "Master role applied to odin"
3
4 default_attributes(
5   :apt => {
6     :sources => ["postgresql"]
7   },
8   :networking => {
9     :interfaces => {
10       :internal_ipv4 => {
11         :interface => "bond0",
12         :role => :internal,
13         :family => :inet,
14         :address => "10.0.48.15",
15         :bond => {
16           :slaves => %w[eno1 eno2]
17         }
18       },
19       :external_ipv4 => {
20         :interface => "bond0.2",
21         :role => :external,
22         :family => :inet,
23         :address => "130.117.76.15"
24       },
25       :external_ipv6 => {
26         :interface => "bond0.2",
27         :role => :external,
28         :family => :inet6,
29         :address => "2001:978:2:2C::172:F"
30       }
31     }
32   },
33   :postgresql => {
34     :versions => ["10"],
35     :settings => {
36       :defaults => {
37         :shared_buffers => "8GB",
38         :maintenance_work_mem => "7144MB",
39         :effective_cache_size => "16GB"
40       }
41     }
42   },
43   :sysctl => {
44     :postgres => {
45       :comment => "Increase shared memory for postgres",
46       :parameters => {
47         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
48         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
49       }
50     }
51   },
52   :sysfs => {
53     :md_tune => {
54       :comment => "Enable request merging for NVMe devices",
55       :parameters => {
56         "block/nvme0n1/queue/nomerges" => "1",
57         "block/nvme1n1/queue/nomerges" => "1"
58       }
59     }
60   },
61   :tile => {
62     :database => {
63       :cluster => "10/main",
64       :postgis => "2.4"
65     },
66     :node_file => "/store/database/nodes",
67     :styles => {
68       :default => {
69         :tile_directories => [
70           { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 }
71         ]
72       }
73     }
74   }
75 )
76
77 run_list(
78   "role[equinix]",
79   "role[tile]"
80 )