Merge pull request #8 from netmanagers/master
[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   - name: amazonlinux-2-3001-py3
43     driver:
44       image: saltimages/salt-3001-py3:amazonlinux-2
45
46   ## SALT `3001`
47   - name: debian-10-3001-py3
48     driver:
49       image: saltimages/salt-3001-py3:debian-10
50   - name: debian-9-3001-py3
51     driver:
52       image: saltimages/salt-3001-py3:debian-9
53   - name: ubuntu-2004-3001-py3
54     driver:
55       image: saltimages/salt-3001-py3:ubuntu-20.04
56   - name: ubuntu-1804-3001-py3
57     driver:
58       image: saltimages/salt-3001-py3:ubuntu-18.04
59   - name: centos-7-3001-py3
60     driver:
61       image: saltimages/salt-3001-py3:centos-7
62
63   ## SALT `3000.3`
64   - name: debian-10-3000-3-py3
65     driver:
66       image: saltimages/salt-3000.3-py3:debian-10
67   - name: debian-9-3000-3-py3
68     driver:
69       image: saltimages/salt-3000.3-py3:debian-9
70   - name: ubuntu-1804-3000-3-py3
71     driver:
72       image: saltimages/salt-3000.3-py3:ubuntu-18.04
73   - name: centos-7-3000-3-py3
74     driver:
75       image: saltimages/salt-3000.3-py3:centos-7
76   - name: ubuntu-1804-3000-3-py2
77     driver:
78       image: saltimages/salt-3000.3-py2:ubuntu-18.04
79
80 provisioner:
81   name: salt_solo
82   log_level: debug
83   salt_install: none
84   require_chef: false
85   formula: arvados
86   salt_copy_filter:
87     - .kitchen
88     - .git
89
90 verifier:
91   # https://www.inspec.io/
92   name: inspec
93   sudo: true
94   # cli, documentation, html, progress, json, json-min, json-rspec, junit
95   reporter:
96     - cli
97
98 suites:
99   #### api,websocket,keepproxy,keepweb,controller
100   - name: api
101     driver:
102       hostname: fixme.example.net
103     provisioner:
104       state_top:
105         base:
106           '*':
107             - example_add_snakeoil_certs
108             - locale
109             - nginx.passenger
110             - postgres
111             - arvados.repo
112             - arvados.api
113             - arvados.websocket
114             # keepproxy complains when using snakeoil certs, so we can't
115             # properly test it here until next version removes this limitation
116             - arvados.keepproxy
117             - arvados.keepweb
118             - arvados.controller
119             - arvados.dispatcher
120       pillars:
121         top.sls:
122           base:
123             '*':
124               - arvados
125               - example_locale
126               - example_postgres
127               - example_nginx
128               - example_nginx_api
129               - example_nginx_websocket
130               - example_nginx_keepweb
131               - example_nginx_controller
132               # keepproxy expects to retrieve a list of services from API, so
133               # installing/testing it without an api server running will fail
134               - example_nginx_keepproxy
135       pillars_from_files:
136         # yamllint disable rule:line-length
137         arvados.sls: test/salt/pillar/arvados.sls
138         example_locale.sls: test/salt/pillar/examples/locale.sls
139         example_postgres.sls: test/salt/pillar/examples/postgresql.sls
140         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
141         example_nginx_api.sls: test/salt/pillar/examples/nginx_api_configuration.sls
142         example_nginx_websocket.sls: test/salt/pillar/examples/nginx_websocket_configuration.sls
143         example_nginx_keepweb.sls: test/salt/pillar/examples/nginx_keepweb_configuration.sls
144         example_nginx_keepproxy.sls: test/salt/pillar/examples/nginx_keepproxy_configuration.sls
145         example_nginx_controller.sls: test/salt/pillar/examples/nginx_controller_configuration.sls
146         # yamllint enable rule:line-length
147       dependencies:
148         - name: example_add_snakeoil_certs
149           path: test/salt/states
150         - name: locale
151           repo: git
152           source: https://github.com/saltstack-formulas/locale-formula.git
153         - name: postgres
154           repo: git
155           source: https://github.com/saltstack-formulas/postgres-formula.git
156         - name: nginx
157           repo: git
158           source: https://github.com/netmanagers/nginx-formula.git
159     verifier:
160       inspec_tests:
161         - path: test/integration/api
162         - path: test/integration/websocket
163         - path: test/integration/keepproxy
164         - path: test/integration/keepweb
165         - path: test/integration/controller
166
167   #### workbench,workbench2
168   - name: workbench
169     driver:
170       hostname: workbench.fixme.example.net
171     provisioner:
172       state_top:
173         base:
174           '*':
175             - example_add_snakeoil_certs
176             - nginx.passenger
177             - arvados.repo
178             - arvados.workbench
179             - arvados.workbench2
180       pillars:
181         top.sls:
182           base:
183             '*':
184               - arvados
185               - example_nginx
186               - example_nginx_workbench
187               - example_nginx_workbench2
188       pillars_from_files:
189         # yamllint disable rule:line-length
190         arvados.sls: test/salt/pillar/arvados.sls
191         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
192         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
193         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
194         # yamllint enable rule:line-length
195       dependencies:
196         - name: example_add_snakeoil_certs
197           path: test/salt/states
198         - name: nginx
199           repo: git
200           source: https://github.com/netmanagers/nginx-formula.git
201     verifier:
202       inspec_tests:
203         - path: test/integration/workbench
204         - path: test/integration/workbench2
205
206   #### shell
207   - name: shell
208     driver:
209       hostname: shell.fixme.example.net
210     provisioner:
211       state_top:
212         base:
213           '*':
214             # We also test repo here. No sense for a whole separate suite
215             - arvados.repo
216             - arvados.shell
217       pillars:
218         top.sls:
219           base:
220             '*':
221               - arvados
222       pillars_from_files:
223         arvados.sls: test/salt/pillar/arvados_dev.sls
224     verifier:
225       inspec_tests:
226         - path: test/integration/shell
227
228   #### keepstore
229   - name: keepstore
230     driver:
231       hostname: keep0.fixme.example.net
232     provisioner:
233       state_top:
234         base:
235           '*':
236             - arvados.repo
237             - arvados.keepstore
238             # - arvados.clean
239       pillars:
240         top.sls:
241           base:
242             '*':
243               - arvados
244       pillars_from_files:
245         arvados.sls: test/salt/pillar/arvados.sls
246     verifier:
247       inspec_tests:
248         - path: test/integration/repo
249         - path: test/integration/keepstore