]> git.openstreetmap.org Git - chef.git/blob - roles/odin.rb
Make sure tile cookbook only requests the required postgres version
[chef.git] / roles / odin.rb
1 name "odin"
2 description "Master role applied to odin"
3
4 default_attributes(
5   :networking => {
6     :interfaces => {
7       :internal_ipv4 => {
8         :interface => "bond0",
9         :role => :internal,
10         :family => :inet,
11         :address => "10.0.48.15",
12         :bond => {
13           :slaves => %w[eno1 eno2]
14         }
15       },
16       :external_ipv4 => {
17         :interface => "bond0.2",
18         :role => :external,
19         :family => :inet,
20         :address => "130.117.76.15"
21       },
22       :external_ipv6 => {
23         :interface => "bond0.2",
24         :role => :external,
25         :family => :inet6,
26         :address => "2001:978:2:2C::172:F"
27       }
28     }
29   },
30   :postgresql => {
31     :settings => {
32       :defaults => {
33         :shared_buffers => "8GB",
34         :maintenance_work_mem => "7144MB",
35         :effective_cache_size => "16GB"
36       }
37     }
38   },
39   :sysctl => {
40     :postgres => {
41       :comment => "Increase shared memory for postgres",
42       :parameters => {
43         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
44         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
45       }
46     }
47   },
48   :tile => {
49     :database => {
50       :cluster => "10/main",
51       :postgis => "2.4"
52     },
53     :styles => {
54       :default => {
55         :tile_directories => [
56           { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 }
57         ]
58       }
59     }
60   }
61 )
62
63 run_list(
64   "role[equinix]",
65   "role[tile]"
66 )