]> git.openstreetmap.org Git - chef.git/blob - roles/dev.rb
Move promscale tuning to role and tune WAL sizes
[chef.git] / roles / dev.rb
1 name "dev"
2 description "Role applied to all development servers"
3
4 default_attributes(
5   :accounts => {
6     :users => {
7       :edgemaster => { :status => :administrator },
8       :emacsen => { :status => :administrator },
9       :twain => { :status => :user },
10       :bretth => { :status => :user },
11       :richard => { :status => :user },
12       :shaunmcdonald => { :status => :user },
13       :random => { :status => :user },
14       :steve8 => { :status => :user },
15       :blackadder => { :status => :user },
16       :timsc => { :status => :user },
17       :bobkare => { :status => :user },
18       :daveh => { :status => :user },
19       :gravitystorm => { :status => :user },
20       :fred => { :status => :user },
21       :nick => { :status => :user },
22       :deelkar => { :status => :user },
23       :simone => { :status => :user },
24       :mitjak => { :status => :user },
25       :htonl => { :status => :user },
26       :russ => { :status => :user },
27       :merio => { :status => :user },
28       :chippy => { :status => :user },
29       :joerichards => { :status => :user },
30       :pafciu17 => { :status => :user },
31       :ojw => { :status => :user },
32       :harrywood => { :status => :user },
33       :yellowbkpk => { :status => :user },
34       :apmon => { :status => :user },
35       :mackerski => { :status => :user },
36       :ldp => { :status => :user },
37       :mdaines => { :status => :user },
38       :dan => { :status => :user },
39       :ris => { :status => :user },
40       :nroets => { :status => :user },
41       :ollie => { :status => :user },
42       :mvexel => { :status => :user },
43       :tomchance => { :status => :user },
44       :lfrancke => { :status => :user },
45       :davidearl => { :status => :user },
46       :rweait => { :status => :user },
47       :ant => { :status => :user },
48       :milliams => { :status => :user },
49       :pierzen => { :status => :user },
50       :gregory => { :status => :user },
51       :bsupnik => { :status => :user },
52       :derick => { :status => :user },
53       :joshd => { :status => :user },
54       :maba => { :status => :user },
55       :pnorman => { :status => :user },
56       :csmale => { :status => :user },
57       :jgc => { :status => :user },
58       :cobra => { :status => :user },
59       :ppawel => { :status => :user },
60       :simon04 => { :status => :user },
61       :jfire => { :status => :user },
62       :malenki => { :status => :user },
63       :lonvia => { :status => :user },
64       :nicolas17 => { :status => :user },
65       :zverik => { :status => :user },
66       :dodobas => { :status => :user },
67       :mhohmann => { :status => :user },
68       :enelson => { :status => :user },
69       :gregrs => { :status => :user },
70       :stereo => { :status => :user },
71       :dmlu => { :status => :user },
72       :ooc => {
73         :status => :role,
74         :members => [:tomh, :blackadder, :timsc, :ollie]
75       },
76       :apis => {
77         :status => :role,
78         :members => [:tomh]
79       },
80       :os => {
81         :status => :role,
82         :members => [:tomh, :grant, :ollie]
83       },
84       :gpsmid => {
85         :status => :role,
86         :members => [:apmon, :maba]
87       }
88     }
89   },
90   :apache => {
91     :mpm => "event",
92     :timeout => 30,
93     :event => {
94       :server_limit => 32,
95       :max_request_workers => 800,
96       :threads_per_child => 50,
97       :max_connections_per_child => 10000
98     }
99   },
100   :dev => {
101     :rails => {
102       :master => {
103         :repository => "https://git.openstreetmap.org/public/rails.git",
104         :revision => "master",
105         :cgimap_repository => "https://github.com/zerebubuth/openstreetmap-cgimap.git",
106         :cgimap_revision => "master",
107         :aliases => ["api06.dev.openstreetmap.org"]
108       },
109       :tomh => {
110         :repository => "https://github.com/tomhughes/openstreetmap-website.git",
111         :revision => "next"
112       },
113       :comments => {
114         :repository => "https://github.com/ukasiu/openstreetmap-website.git",
115         :revision => "comments_list"
116       },
117       :locale => {
118         :repository => "https://github.com/tomhughes/openstreetmap-website.git",
119         :revision => "locale"
120       },
121       :microcosms => {
122         :repository => "https://github.com/openbrian/osm-microcosms.git",
123         :revision => "microcosms"
124       },
125       :upload => {
126         :repository => "https://git.openstreetmap.org/public/rails.git",
127         :revision => "master",
128         :cgimap_repository => "https://github.com/zerebubuth/openstreetmap-cgimap.git",
129         :cgimap_revision => "feature/bulk_upload"
130       }
131     }
132   },
133   :postgresql => {
134     :versions => ["12"],
135     :settings => {
136       :defaults => {
137         :shared_buffers => "1GB",
138         :work_mem => "32MB",
139         :maintenance_work_mem => "64MB",
140         :max_stack_depth => "4MB",
141         :effective_cache_size => "4GB"
142       },
143       "12" => {
144         :port => "5432",
145         :wal_level => "logical",
146         :max_replication_slots => "1"
147       }
148     }
149   },
150   :sysctl => {
151     :postgres => {
152       :comment => "Increase shared memory for postgres",
153       :parameters => {
154         "kernel.shmall" => "4194304",
155         "kernel.shmmax" => "17179869184"
156       }
157     }
158   }
159 )
160
161 run_list(
162   "recipe[dev]"
163 )