]> git.openstreetmap.org Git - chef.git/blob - roles/scorch.rb
Enable netplan for various miscellaneous machines
[chef.git] / roles / scorch.rb
1 name "scorch"
2 description "Master role applied to scorch"
3
4 default_attributes(
5   :apt => {
6     :sources => ["postgresql"]
7   },
8   :devices => {
9     :ssd_system => {
10       :comment => "Tune scheduler for system disk",
11       :type => "block",
12       :bus => "scsi",
13       :serial => "3600605b009bbf5601fc3206407a43546",
14       :attrs => {
15         "queue/scheduler" => "noop",
16         "queue/nr_requests" => "256",
17         "queue/read_ahead_kb" => "2048"
18       }
19     }
20   },
21   :hardware => {
22     :mcelog => {
23       :enabled => false
24     }
25   },
26   :networking => {
27     :netplan => true,
28     :interfaces => {
29       :external_ipv4 => {
30         :interface => "eth0",
31         :role => :external,
32         :family => :inet,
33         :address => "176.31.235.79",
34         :prefix => "24",
35         :gateway => "176.31.235.254"
36       },
37       :external_ipv6 => {
38         :interface => "eth0",
39         :role => :external,
40         :family => :inet6,
41         :address => "2001:41d0:2:fc4f::1",
42         :prefix => "64",
43         :gateway => "2001:41d0:2:fcff:ff:ff:ff:ff"
44       }
45     }
46   },
47   :postgresql => {
48     :versions => ["10"],
49     :settings => {
50       :defaults => {
51         :shared_buffers => "8GB",
52         :maintenance_work_mem => "7144MB",
53         :effective_cache_size => "16GB"
54       }
55     }
56   },
57   :sysctl => {
58     :postgres => {
59       :comment => "Increase shared memory for postgres",
60       :parameters => {
61         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
62         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
63       }
64     }
65   },
66   :tile => {
67     :database => {
68       :cluster => "10/main",
69       :postgis => "2.4"
70     },
71     :node_file => "/store/database/nodes",
72     :styles => {
73       :default => {
74         :tile_directories => [
75           { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 }
76         ]
77       }
78     }
79   }
80 )
81
82 run_list(
83   "role[ovh]",
84   "role[tile]"
85 )