]> git.openstreetmap.org Git - chef.git/blob - roles/odin.rb
Adjust shared memory limits
[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   :tile => {
53     :database => {
54       :cluster => "10/main",
55       :postgis => "2.4"
56     },
57     :node_file => "/store/database/nodes",
58     :styles => {
59       :default => {
60         :tile_directories => [
61           { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 }
62         ]
63       }
64     }
65   }
66 )
67
68 run_list(
69   "role[equinix]",
70   "role[tile]"
71 )