]> git.openstreetmap.org Git - chef.git/blob - roles/vial.rb
47447c4df1432ac0473349da97bb937379b57131
[chef.git] / roles / vial.rb
1 name "vial"
2 description "Master role applied to vial"
3
4 default_attributes(
5   :apt => {
6     :sources => ["postgresql"]
7   },
8   :devices => {
9     :ssd_samsung => {
10       :comment => "Tune scheduler for SSD",
11       :type => "block",
12       :bus => "ata",
13       :serial => "SAMSUNG_MZ7LM960HCHP-*",
14       :attrs => {
15         "queue/scheduler" => "noop",
16         "queue/nr_requests" => "256",
17         "queue/read_ahead_kb" => "2048"
18       }
19     }
20   },
21   :hardware => {
22     :modules => %w[nct6775],
23     :sensors => {
24       "nct6779-isa-0290" => {
25         :volts => {
26           "in1" => { :ignore => true },
27           "in4" => { :ignore => true },
28           "in5" => { :ignore => true },
29           "in6" => { :ignore => true },
30           "in9" => { :ignore => true },
31           "in10" => { :ignore => true },
32           "in11" => { :ignore => true },
33           "in12" => { :ignore => true },
34           "in13" => { :ignore => true },
35           "in14" => { :ignore => true }
36         },
37         :fans => {
38           "fan1" => { :ignore => true },
39           "fan2" => { :ignore => true }
40         },
41         :temps => {
42           "temp7" => { :ignore => true },
43           "temp8" => { :ignore => true },
44           "temp9" => { :ignore => true },
45           "temp10" => { :ignore => true }
46         }
47       }
48     }
49   },
50   :munin => {
51     :plugins => {
52       :sensors_temp => {
53         :temp1 => { :warning => 96, :critical => 100 },
54         :temp2 => { :warning => 96, :critical => 100 },
55         :temp3 => { :warning => 96, :critical => 100 },
56         :temp4 => { :warning => 96, :critical => 100 },
57         :temp5 => { :warning => 96, :critical => 100 },
58         :temp6 => { :warning => 96, :critical => 100 },
59         :temp7 => { :warning => 96, :critical => 100 }
60       }
61     }
62   },
63   :networking => {
64     :interfaces => {
65       :external_ipv4 => {
66         :interface => "eth0",
67         :role => :external,
68         :family => :inet,
69         :address => "138.201.195.31",
70         :prefix => "26",
71         :gateway => "138.201.195.1"
72       },
73       :external_ipv6 => {
74         :interface => "eth0",
75         :role => :external,
76         :family => :inet6,
77         :address => "2a01:4f8:172:3cde::2",
78         :prefix => "64",
79         :gateway => "fe80::1"
80       }
81     }
82   },
83   :postgresql => {
84     :versions => ["9.6"],
85     :settings => {
86       :defaults => {
87         :shared_buffers => "8GB",
88         :maintenance_work_mem => "7144MB",
89         :effective_cache_size => "16GB"
90       }
91     }
92   },
93   :sysctl => {
94     :postgres => {
95       :comment => "Increase shared memory for postgres",
96       :parameters => {
97         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
98         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
99       }
100     }
101   },
102   :tile => {
103     :database => {
104       :cluster => "9.6/main"
105     },
106     :node_file => "/store/database/nodes",
107     :styles => {
108       :default => {
109         :tile_directories => [
110           { :name => "/store/tiles/default", :min_zoom => 0, :max_zoom => 19 }
111         ]
112       }
113     }
114   }
115 )
116
117 run_list(
118   "role[hetzner]",
119   "role[tile]"
120 )