]> git.openstreetmap.org Git - chef.git/blob - .kitchen.yml
kitchen: pre-cache frequent apt packages in container
[chef.git] / .kitchen.yml
1 ---
2 driver:
3   name: dokken
4   chef_version: 18
5   volumes:
6     - /var/lib/docker
7   env:
8     - container=dokken
9
10 transport:
11   name: dokken
12
13 provisioner:
14   name: dokken
15   chef_license: accept
16   data_bags_path: test/data_bags
17   slow_resource_report: true
18
19 verifier:
20   root_path: /opt/verifier
21   sudo: false
22
23 platforms:
24   - name: ubuntu-20.04
25     driver:
26       image: dokken/ubuntu-20.04
27       privileged: true
28       pid_one_command: /bin/systemd
29       intermediate_instructions:
30         - RUN /usr/bin/apt-get update -y
31         # Pre-cache common required system packages
32         - RUN /usr/bin/apt-get install --download-only -y apache2 libwww-perl munin-node shorewall unattended-upgrades wireguard-tools zsh
33   - name: ubuntu-22.04
34     driver:
35       image: dokken/ubuntu-22.04
36       privileged: true
37       pid_one_command: /bin/systemd
38       intermediate_instructions:
39         - RUN /usr/bin/apt-get update -y
40         # Pre-cache common required system packages
41         - RUN /usr/bin/apt-get install --download-only -y apache2 libwww-perl munin-node shorewall unattended-upgrades wireguard-tools zsh
42
43 suites:
44   - name: accounts
45     run_list:
46       - recipe[accounts::default]
47   - name: apache
48     run_list:
49       - recipe[apache::default]
50   - name: apt
51     run_list:
52       - recipe[apt::default]
53   - name: backup
54     run_list:
55       - recipe[backup::default]
56   - name: bind
57     run_list:
58       - recipe[bind::default]
59     attributes:
60       bind:
61         clients: none
62   - name: blog
63     run_list:
64       - recipe[blog::default]
65   - name: blogs
66     run_list:
67       - recipe[blogs::default]
68   - name: civicrm
69     run_list:
70       - recipe[civicrm::default]
71   - name: clamav
72     run_list:
73       - recipe[clamav::default]
74   - name: community
75     run_list:
76       - recipe[community::default]
77   - name: db-backup
78     run_list:
79       - recipe[db::backup]
80   - name: db-base
81     run_list:
82       - recipe[db::base]
83   - name: db-master
84     run_list:
85       - recipe[db::master]
86   - name: db-slave
87     run_list:
88       - recipe[db::slave]
89   - name: devices
90     run_list:
91       - recipe[devices::default]
92   - name: dhcpd
93     run_list:
94       - recipe[dhcpd::default]
95     attributes:
96       dhcpd:
97         first_address: 172.18.100.1
98         last_address: 172.18.100.254
99       networking:
100         interfaces:
101           test:
102             interface: eth0
103             role: internal
104             address: 172.18.0.2
105             prefix: 16
106             gateway: 172.18.0.1
107         roles:
108           external:
109             zone: test
110   - name: dmca
111     run_list:
112       - recipe[dmca::default]
113   - name: dns
114     run_list:
115       - recipe[dns::default]
116   - name: docker
117     run_list:
118       - recipe[docker::default]
119   - name: donate
120     run_list:
121       - recipe[donate::default]
122   - name: elasticsearch
123     run_list:
124       - recipe[elasticsearch::default]
125   - name: exim
126     run_list:
127       - recipe[exim::default]
128   - name: fail2ban
129     run_list:
130       - recipe[fail2ban::default]
131   - name: forum
132     run_list:
133       - recipe[forum::default]
134   - name: ftp
135     run_list:
136       - recipe[ftp::default]
137   - name: geodns
138     run_list:
139       - recipe[geodns::default]
140     attributes:
141       networking:
142         interfaces:
143           test:
144             role: external
145             address: 172.18.0.2
146   - name: geoipupdate
147     run_list:
148       - recipe[geoipupdate::default]
149   - name: git
150     run_list:
151       - recipe[git::default]
152   - name: git-server
153     run_list:
154       - recipe[git::server]
155   - name: git-web
156     run_list:
157       - recipe[git::web]
158   - name: gps-tile
159     run_list:
160       - recipe[gps-tile::default]
161   - name: hardware
162     run_list:
163       - recipe[hardware::default]
164   - name: hot
165     run_list:
166       - recipe[hot::default]
167   - name: incron
168     run_list:
169       - recipe[incron::default]
170   - name: irc
171     run_list:
172       - recipe[irc::default]
173   - name: kibana
174     run_list:
175       - recipe[kibana::default]
176   - name: letsencrypt
177     run_list:
178       - recipe[letsencrypt::default]
179   - name: logstash
180     run_list:
181       - recipe[logstash::default]
182   - name: logstash-forwarder
183     run_list:
184       - recipe[logstash::forwarder]
185     attributes:
186       logstash:
187         forwarder:
188           filebeat.inputs:
189             - type: filestream
190               id: apache
191               paths:
192                 - /var/log/apache2/access.log
193               fields:
194                 type: apache
195               fields_under_root: true
196   - name: mail
197     run_list:
198       - role[mail]
199   - name: mailman
200     run_list:
201       - recipe[mailman::default]
202   - name: matomo
203     run_list:
204       - recipe[matomo::default]
205   - name: memcached
206     run_list:
207       - recipe[memcached::default]
208   - name: munin
209     run_list:
210       - recipe[munin::default]
211   - name: munin-plugins
212     run_list:
213       - recipe[munin::plugins]
214   - name: munin-server
215     run_list:
216       - recipe[munin::server]
217   - name: mysql
218     run_list:
219       - recipe[mysql::default]
220   - name: networking
221     run_list:
222       - recipe[networking::default]
223   - name: nginx
224     run_list:
225       - recipe[nginx::default]
226   - name: nodejs
227     run_list:
228       - recipe[nodejs::default]
229   - name: nominatim
230     run_list:
231       - recipe[nominatim::default]
232   - name: ntp
233     run_list:
234       - recipe[ntp::default]
235   - name: openssh
236     run_list:
237       - recipe[openssh::default]
238   - name: osmosis
239     run_list:
240       - recipe[osmosis::default]
241   - name: osqa
242     run_list:
243       - recipe[osqa::default]
244   - name: otrs
245     run_list:
246       - recipe[otrs::default]
247   - name: overpass
248     run_list:
249       - recipe[overpass::default]
250   - name: passenger
251     run_list:
252       - recipe[passenger::default]
253   - name: php
254     run_list:
255       - recipe[php::default]
256   - name: php-apache
257     run_list:
258       - recipe[php::apache]
259   - name: php-fpm
260     run_list:
261       - recipe[php::fpm]
262   - name: planet
263     run_list:
264       - recipe[planet::default]
265   - name: planet-current
266     run_list:
267       - recipe[planet::current]
268   - name: planet-dump
269     run_list:
270       - recipe[planet::dump]
271   - name: planet-notes
272     run_list:
273       - recipe[planet::notes]
274     attributes:
275       web:
276         readonly_database_host: readonly
277   - name: planet-replication
278     run_list:
279       - recipe[planet::replication]
280     attributes:
281       web:
282         readonly_database_host: readonly
283   - name: postgresql
284     run_list:
285       - recipe[postgresql::default]
286     attributes:
287       postgresql:
288         versions:
289           - 10
290   - name: prometheus
291     run_list:
292       - recipe[prometheus::default]
293     attributes:
294       networking:
295         interfaces:
296           test:
297             interface: eth0
298             role: internal
299             address: 172.18.0.2
300             prefix: 16
301             gateway: 172.18.0.1
302   - name: prometheus-server
303     run_list:
304       - recipe[prometheus::server]
305     attributes:
306       prometheus:
307         promscale: true
308   - name: python
309     run_list:
310       - recipe[python::default]
311   - name: rsyncd
312     run_list:
313       - recipe[rsyncd::default]
314   - name: serverinfo
315     run_list:
316       - recipe[serverinfo::default]
317   - name: snmpd
318     run_list:
319       - recipe[snmpd::default]
320   - name: spamassassin
321     run_list:
322       - recipe[spamassassin::default]
323   - name: ssl
324     run_list:
325       - recipe[ssl::default]
326   - name: stateofthemap
327     run_list:
328       - recipe[stateofthemap::default]
329   - name: stateofthemap-static
330     run_list:
331       - recipe[stateofthemap::static]
332   - name: stateofthemap-jekyll
333     run_list:
334       - recipe[stateofthemap::jekyll]
335   - name: stateofthemap-wordpress
336     run_list:
337       - recipe[stateofthemap::wordpress]
338   - name: subversion
339     run_list:
340       - recipe[subversion::default]
341   - name: supybot
342     run_list:
343       - recipe[supybot::default]
344   - name: switch2osm
345     run_list:
346       - recipe[switch2osm::default]
347   - name: sysctl
348     run_list:
349       - recipe[sysctl::default]
350   - name: sysfs
351     run_list:
352       - recipe[sysfs::default]
353   - name: taginfo
354     run_list:
355       - recipe[taginfo::default]
356     attributes:
357       taginfo:
358         sites:
359           - name: taginfo.example.com
360   - name: tile
361     run_list:
362       - recipe[tile::default]
363   - name: tilelog
364     run_list:
365       - recipe[tilelog::default]
366   - name: timescaledb
367     run_list:
368       - recipe[timescaledb::default]
369   - name: tools
370     run_list:
371       - recipe[tools::default]
372   - name: trac
373     run_list:
374       - recipe[trac::default]
375   - name: web-cgimap
376     run_list:
377       - recipe[web::cgimap]
378   - name: web-frontend
379     run_list:
380       - recipe[web::frontend]
381   - name: web-rails
382     run_list:
383       - recipe[web::rails]
384   - name: wiki
385     run_list:
386       - recipe[wiki::default]
387   - name: wordpress
388     run_list:
389       - recipe[wordpress::default]