chore(shellcheck): switch hook for `shellcheck` [skip ci]
[arvados-formula.git] / kitchen.yml
1 # -*- coding: utf-8 -*-
2 # vim: ft=yaml
3 ---
4 # For help on this file's format, see https://kitchen.ci/
5 driver:
6   name: docker
7   use_sudo: false
8   privileged: true
9   run_command: /lib/systemd/systemd
10
11 # Make sure the platforms listed below match up with
12 # the `env.matrix` instances defined in `.travis.yml`
13 platforms:
14   ## SALT `tiamat`
15   - name: debian-10-tiamat-py3
16     driver:
17       image: saltimages/salt-tiamat-py3:debian-10
18   - name: debian-9-tiamat-py3
19     driver:
20       image: saltimages/salt-tiamat-py3:debian-9
21   - name: ubuntu-2004-tiamat-py3
22     driver:
23       image: saltimages/salt-tiamat-py3:ubuntu-20.04
24   - name: ubuntu-1804-tiamat-py3
25     driver:
26       image: saltimages/salt-tiamat-py3:ubuntu-18.04
27   - name: centos-7-tiamat-py3
28     driver:
29       image: saltimages/salt-tiamat-py3:centos-7
30
31   ## SALT `master`
32   - name: debian-10-master-py3
33     driver:
34       image: saltimages/salt-master-py3:debian-10
35   - name: ubuntu-2004-master-py3
36     driver:
37       image: saltimages/salt-master-py3:ubuntu-20.04
38   - name: ubuntu-1804-master-py3
39     driver:
40       image: saltimages/salt-master-py3:ubuntu-18.04
41
42   ## SALT `3001`
43   - name: debian-10-3001-py3
44     driver:
45       image: saltimages/salt-3001-py3:debian-10
46   - name: debian-9-3001-py3
47     driver:
48       image: saltimages/salt-3001-py3:debian-9
49   - name: ubuntu-2004-3001-py3
50     driver:
51       image: saltimages/salt-3001-py3:ubuntu-20.04
52   - name: ubuntu-1804-3001-py3
53     driver:
54       image: saltimages/salt-3001-py3:ubuntu-18.04
55   - name: centos-7-3001-py3
56     driver:
57       image: saltimages/salt-3001-py3:centos-7
58   - name: amazonlinux-2-3001-py3
59     driver:
60       image: saltimages/salt-3001-py3:amazonlinux-2
61
62   ## SALT `3000.3`
63   - name: debian-10-3000-3-py3
64     driver:
65       image: saltimages/salt-3000.3-py3:debian-10
66   - name: debian-9-3000-3-py3
67     driver:
68       image: saltimages/salt-3000.3-py3:debian-9
69   - name: ubuntu-1804-3000-3-py3
70     driver:
71       image: saltimages/salt-3000.3-py3:ubuntu-18.04
72   - name: centos-7-3000-3-py3
73     driver:
74       image: saltimages/salt-3000.3-py3:centos-7
75   - name: ubuntu-1804-3000-3-py2
76     driver:
77       image: saltimages/salt-3000.3-py2:ubuntu-18.04
78
79 provisioner:
80   name: salt_solo
81   log_level: debug
82   salt_install: none
83   require_chef: false
84   formula: arvados
85   salt_copy_filter:
86     - .kitchen
87     - .git
88
89 verifier:
90   # https://www.inspec.io/
91   name: inspec
92   sudo: true
93   # cli, documentation, html, progress, json, json-min, json-rspec, junit
94   reporter:
95     - cli
96
97 suites:
98   #### api,websocket,keepproxy,keepweb,controller
99   - name: api
100     driver:
101       hostname: fixme.example.net
102     provisioner:
103       state_top:
104         base:
105           '*':
106             - single_host.host_entries
107             - single_host.snakeoil_certs
108             - locale
109             - nginx.passenger
110             - postgres
111             - arvados.repo
112             - arvados.api
113             - arvados.websocket
114             - arvados.keepproxy
115             - arvados.keepweb
116             - arvados.controller
117             - arvados.dispatcher
118       pillars:
119         top.sls:
120           base:
121             '*':
122               - arvados
123               - example_locale
124               - example_postgres
125               - example_nginx
126               - example_nginx_api
127               - example_nginx_websocket
128               - example_nginx_keepweb
129               - example_nginx_controller
130               # keepproxy expects to retrieve a list of services from API, so
131               # installing/testing it without an api server running will fail
132               - example_nginx_keepproxy
133       pillars_from_files:
134         # yamllint disable rule:line-length
135         arvados.sls: test/salt/pillar/arvados.sls
136         example_locale.sls: test/salt/pillar/examples/locale.sls
137         example_postgres.sls: test/salt/pillar/examples/postgresql.sls
138         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
139         example_nginx_api.sls: test/salt/pillar/examples/nginx_api_configuration.sls
140         example_nginx_websocket.sls: test/salt/pillar/examples/nginx_websocket_configuration.sls
141         example_nginx_keepweb.sls: test/salt/pillar/examples/nginx_keepweb_configuration.sls
142         example_nginx_keepproxy.sls: test/salt/pillar/examples/nginx_keepproxy_configuration.sls
143         example_nginx_controller.sls: test/salt/pillar/examples/nginx_controller_configuration.sls
144         # yamllint enable rule:line-length
145       dependencies:
146         - name: single_host
147           path: test/salt/states/examples
148         - name: locale
149           repo: git
150           source: https://github.com/saltstack-formulas/locale-formula.git
151         - name: postgres
152           repo: git
153           source: https://github.com/saltstack-formulas/postgres-formula.git
154         - name: nginx
155           repo: git
156           source: https://github.com/netmanagers/nginx-formula.git
157     verifier:
158       inspec_tests:
159         - path: test/integration/api
160         - path: test/integration/websocket
161         - path: test/integration/keepproxy
162         - path: test/integration/keepweb
163         - path: test/integration/controller
164
165   #### workbench,workbench2
166   - name: workbench
167     driver:
168       hostname: workbench.fixme.example.net
169     provisioner:
170       state_top:
171         base:
172           '*':
173             - single_host.host_entries
174             - single_host.snakeoil_certs
175             - nginx.passenger
176             - arvados.repo
177             - arvados.workbench
178             - arvados.workbench2
179       pillars:
180         top.sls:
181           base:
182             '*':
183               - arvados
184               - example_nginx
185               - example_nginx_workbench
186               - example_nginx_workbench2
187       pillars_from_files:
188         # yamllint disable rule:line-length
189         arvados.sls: test/salt/pillar/arvados.sls
190         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
191         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
192         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
193         # yamllint enable rule:line-length
194       dependencies:
195         - name: single_host
196           path: test/salt/states/examples
197         - name: nginx
198           repo: git
199           source: https://github.com/netmanagers/nginx-formula.git
200     verifier:
201       inspec_tests:
202         - path: test/integration/workbench
203         - path: test/integration/workbench2
204
205   #### shell
206   - name: shell
207     driver:
208       hostname: shell.fixme.example.net
209     provisioner:
210       state_top:
211         base:
212           '*':
213             # We also test repo here. No sense for a whole separate suite
214             - arvados.repo
215             - arvados.shell
216       pillars:
217         top.sls:
218           base:
219             '*':
220               - arvados
221       pillars_from_files:
222         arvados.sls: test/salt/pillar/arvados_dev.sls
223     verifier:
224       inspec_tests:
225         - path: test/integration/shell
226
227   #### keepstore
228   - name: keepstore
229     driver:
230       hostname: keep0.fixme.example.net
231     provisioner:
232       state_top:
233         base:
234           '*':
235             - arvados.repo
236             - arvados.keepstore
237             # - arvados.clean
238       pillars:
239         top.sls:
240           base:
241             '*':
242               - arvados
243       pillars_from_files:
244         arvados.sls: test/salt/pillar/arvados.sls
245     verifier:
246       inspec_tests:
247         - path: test/integration/repo
248         - path: test/integration/keepstore