]> git.openstreetmap.org Git - chef.git/blob - roles/dulcy.rb
694c84f93d4674d197f39206455237d3aae10022
[chef.git] / roles / dulcy.rb
1 name "dulcy"
2 description "Master role applied to dulcy"
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.9",
12         :bond => {
13           :slaves => %w[p18p1 p18p2]
14         }
15       },
16       :external_ipv4 => {
17         :interface => "bond0.2",
18         :role => :external,
19         :family => :inet,
20         :address => "130.117.76.9"
21       },
22       :external_ipv6 => {
23         :interface => "bond0.2",
24         :role => :external,
25         :family => :inet6,
26         :address => "2001:978:2:2C::172:9"
27       }
28     }
29   },
30   :postgresql => {
31     :versions => ["10"],
32     :settings => {
33       :defaults => {
34         :work_mem => "300MB",
35         :maintenance_work_mem => "10GB",
36         :random_page_cost => "1.5",
37         :effective_cache_size => "60GB",
38         :fsync => "on",
39         :effective_io_concurrency => "3"
40       }
41     }
42   },
43   :nominatim => {
44     :state => "standalone",
45     :enable_backup => false,
46     :enable_git_updates => true,
47     :dbadmins => %w[lonvia tomh],
48     :dbcluster => "10/main",
49     :postgis => "2.4",
50     :flatnode_file => "/ssd/nominatim/nodes.store",
51     :logdir => "/ssd/nominatim/log",
52     :tablespaces => {
53       "dosm" => "/ssd/tablespaces/dosm",
54       "iosm" => "/ssd/tablespaces/iosm",
55       "dplace" => "/ssd/tablespaces/dplace",
56       "iplace" => "/ssd/tablespaces/iplace",
57       "daddress" => "/ssd/tablespaces/daddress",
58       "iaddress" => "/ssd/tablespaces/iaddress",
59       "dsearch" => "/ssd/tablespaces/dsearch",
60       "isearch" => "/ssd/tablespaces/isearch",
61       "daux" => "/ssd/tablespaces/daux",
62       "iaux" => "/ssd/tablespaces/iaux"
63     }
64   },
65   :sysfs => {
66     :md_tune => {
67       :comment => "Enable request merging for NVMe devices",
68       :parameters => {
69         "block/nvme0n1/queue/nomerges" => "1",
70         "block/nvme1n1/queue/nomerges" => "1"
71       }
72     }
73   }
74 )
75
76 run_list(
77   "role[equinix]",
78   "role[nominatim]"
79 )