]> git.openstreetmap.org Git - chef.git/blob - roles/rhaegal.rb
Enable netplan for American tile caches
[chef.git] / roles / rhaegal.rb
1 name "rhaegal"
2 description "Master role applied to rhaegal"
3
4 default_attributes(
5   :accounts => {
6     :users => {
7       :mmiler => { :status => :administrator }
8     }
9   },
10   :apt => {
11     :sources => ["postgresql"]
12   },
13   :devices => {
14     :ssd_samsung => {
15       :comment => "Tune scheduler for SSD",
16       :type => "block",
17       :bus => "ata",
18       :serial => "Samsung_SSD_860_PRO_*",
19       :attrs => {
20         "queue/scheduler" => "noop",
21         "queue/nr_requests" => "256",
22         "queue/read_ahead_kb" => "2048"
23       }
24     }
25   },
26   :location => "Zagreb, Croatia",
27   :networking => {
28     :netplan => true,
29     :interfaces => {
30       :external_ipv4 => {
31         :interface => "enp1s0f0",
32         :role => :external,
33         :family => :inet,
34         :address => "10.5.0.77",
35         :prefix => "16",
36         :gateway => "10.5.0.1",
37         :public_address => "161.53.248.77"
38       }
39     },
40     :nameservers => [
41       "10.5.0.7",
42       "8.8.8.8"
43     ]
44   },
45   :postgresql => {
46     :versions => ["10"],
47     :settings => {
48       :defaults => {
49         :shared_buffers => "8GB",
50         :maintenance_work_mem => "7144MB",
51         :effective_cache_size => "16GB"
52       }
53     }
54   },
55   :sysctl => {
56     :postgres => {
57       :comment => "Increase shared memory for postgres",
58       :parameters => {
59         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
60         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
61       }
62     }
63   },
64   :tile => {
65     :database => {
66       :cluster => "10/main",
67       :postgis => "2.4"
68     },
69     :node_file => "/store/database/nodes",
70     :styles => {
71       :default => {
72         :tile_directories => [
73           { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 }
74         ]
75       }
76     }
77   }
78 )
79
80 run_list(
81   "role[carnet]",
82   "role[tile]"
83 )