e7f200bb2b5f85281f233682bc1728a3dd420c66
[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             - arvados.keepbalance
151       pillars:
152         top.sls:
153           base:
154             '*':
155               - arvados
156               - example_locale
157               - example_postgres
158               - example_nginx
159               - example_nginx_api
160               - example_nginx_websocket
161               - example_nginx_keepweb
162               - example_nginx_controller
163               # keepproxy expects to retrieve a list of services from API, so
164               # installing/testing it without an api server running will fail
165               - example_nginx_keepproxy
166       pillars_from_files:
167         # yamllint disable rule:line-length
168         arvados.sls: test/salt/pillar/arvados.sls
169         example_locale.sls: test/salt/pillar/examples/locale.sls
170         example_postgres.sls: test/salt/pillar/examples/postgresql.sls
171         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
172         example_nginx_api.sls: test/salt/pillar/examples/nginx_api_configuration.sls
173         example_nginx_websocket.sls: test/salt/pillar/examples/nginx_websocket_configuration.sls
174         example_nginx_keepweb.sls: test/salt/pillar/examples/nginx_keepweb_configuration.sls
175         example_nginx_keepproxy.sls: test/salt/pillar/examples/nginx_keepproxy_configuration.sls
176         example_nginx_controller.sls: test/salt/pillar/examples/nginx_controller_configuration.sls
177         # yamllint enable rule:line-length
178     verifier:
179       inspec_tests:
180         - path: test/integration/api
181         - path: test/integration/websocket
182         - path: test/integration/keepproxy
183         - path: test/integration/keepweb
184         - path: test/integration/controller
185         - path: test/integration/keepbalance
186   #### workbench,workbench2,webshell
187   - name: workbench
188     driver:
189       hostname: workbench.fixme.example.net
190     provisioner:
191       dependencies:
192         - name: single_host
193           path: test/salt/states/examples
194         - name: nginx
195           repo: git
196           source: https://github.com/saltstack-formulas/nginx-formula.git
197       state_top:
198         base:
199           '*':
200             - arvados._mapdata
201             - single_host.host_entries
202             - single_host.snakeoil_certs
203             - nginx.passenger
204             - arvados.repo
205             - arvados.workbench
206             - arvados.workbench2
207       pillars:
208         top.sls:
209           base:
210             '*':
211               - arvados
212               - example_nginx
213               - example_nginx_workbench
214               - example_nginx_workbench2
215               - example_nginx_webshell
216       pillars_from_files:
217         # yamllint disable rule:line-length
218         arvados.sls: test/salt/pillar/arvados.sls
219         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
220         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
221         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
222         example_nginx_webshell.sls: test/salt/pillar/examples/nginx_webshell_configuration.sls
223         # yamllint enable rule:line-length
224     verifier:
225       inspec_tests:
226         - path: test/integration/repo
227         - path: test/integration/workbench
228         - path: test/integration/workbench2
229   #### shell
230   - name: shell
231     driver:
232       hostname: shell.fixme.example.net
233     provisioner:
234       state_top:
235         base:
236           '*':
237             - arvados._mapdata
238             # We also test repo here. No sense for a whole separate suite
239             - arvados.repo
240             - arvados.shell
241       pillars:
242         top.sls:
243           base:
244             '*':
245               - arvados
246       pillars_from_files:
247         arvados.sls: test/salt/pillar/arvados_dev.sls
248     verifier:
249       inspec_tests:
250         - path: test/integration/shell
251   #### keepstore
252   - name: keepstore
253     driver:
254       hostname: keep0.fixme.example.net
255     provisioner:
256       state_top:
257         base:
258           '*':
259             - arvados._mapdata
260             - arvados.repo
261             - arvados.keepstore
262       pillars:
263         top.sls:
264           base:
265             '*':
266               - arvados
267       pillars_from_files:
268         arvados.sls: test/salt/pillar/arvados_dev.sls
269     verifier:
270       inspec_tests:
271         - path: test/integration/keepstore