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