]> git.openstreetmap.org Git - chef.git/blob - roles/orm.rb
Use packages libosmium and protozero on taginfo server.
[chef.git] / roles / orm.rb
1 name "orm"
2 description "Master role applied to orm"
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_SSD_840_PRO_Series_*",
14       :attrs => {
15         "queue/scheduler" => "noop",
16         "queue/nr_requests" => "256",
17         "queue/read_ahead_kb" => "2048"
18       }
19     },
20     :arecavoltune => {
21       :comment => "Tune scheduler for Areca",
22       :type => "block",
23       :bus => "scsi",
24       :serial => "2001b4d20*",
25       :attrs => {
26         "queue/scheduler" => "deadline",
27         "queue/nr_requests" => "512",
28         "queue/read_ahead_kb" => "2048"
29       }
30     }
31   },
32   :networking => {
33     :interfaces => {
34       :internal_ipv4 => {
35         :interface => "bond0",
36         :role => :internal,
37         :family => :inet,
38         :address => "10.0.48.3",
39         :bond => {
40           :slaves => %w[eth0 eth1]
41         }
42       },
43       :external_ipv4 => {
44         :interface => "bond0.2",
45         :role => :external,
46         :family => :inet,
47         :address => "130.117.76.3"
48       },
49       :external_ipv6 => {
50         :interface => "bond0.2",
51         :role => :external,
52         :family => :inet6,
53         :address => "2001:978:2:2C::172:3"
54       }
55     }
56   },
57   :postgresql => {
58     :versions => ["10"],
59     :settings => {
60       :defaults => {
61         :shared_buffers => "8GB",
62         :maintenance_work_mem => "7144MB",
63         :effective_cache_size => "16GB"
64       }
65     }
66   },
67   :sysctl => {
68     :postgres => {
69       :comment => "Increase shared memory for postgres",
70       :parameters => {
71         "kernel.shmmax" => 9 * 1024 * 1024 * 1024,
72         "kernel.shmall" => 9 * 1024 * 1024 * 1024 / 4096
73       }
74     }
75   },
76   :tile => {
77     :database => {
78       :cluster => "10/main",
79       :postgis => "2.4"
80     },
81     :node_file => "/store/database/nodes",
82     :styles => {
83       :default => {
84         :tile_directories => [
85           { :name => "/store/tiles/default-low", :min_zoom => 0, :max_zoom => 17 },
86           { :name => "/store/tiles/default-high", :min_zoom => 18, :max_zoom => 19 }
87         ]
88       }
89     }
90   }
91 )
92
93 override_attributes(
94   :networking => {
95     :nameservers => ["8.8.8.8", "8.8.4.4"]
96   }
97 )
98
99 run_list(
100   "role[equinix]",
101   "role[tyan-s7010]",
102   "role[tile]"
103 )