Merge branch '18631-shell-login-sync'
[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.1`
61   - name: debian-11-3004.1-py3
62     driver:
63       image: saltimages/salt-3004.1-py3:debian-11
64   - name: debian-10-3004.1-py3
65     driver:
66       image: saltimages/salt-3004.1-py3:debian-10
67   - name: ubuntu-2004-3004.1-py3
68     driver:
69       image: saltimages/salt-3004.1-py3:ubuntu-20.04
70   - name: ubuntu-1804-3004.1-py3
71     driver:
72       image: saltimages/salt-3004.1-py3:ubuntu-18.04
73   - name: centos-7-3004.1-py3
74     driver:
75       image: saltimages/salt-3004.1-py3:centos-7
76
77   ## SALT `3003.4`
78   - name: debian-11-3003.4-py3
79     driver:
80       image: saltimages/salt-3003.4-py3:debian-11
81   - name: debian-10-3003.4-py3
82     driver:
83       image: saltimages/salt-3003.4-py3:debian-10
84   - name: ubuntu-2004-3003.4-py3
85     driver:
86       image: saltimages/salt-3003.4-py3:ubuntu-20.04
87   - name: ubuntu-1804-3003.4-py3
88     driver:
89       image: saltimages/salt-3003.4-py3:ubuntu-18.04
90   - name: centos-7-3003.4-py3
91     driver:
92       image: saltimages/salt-3003.4-py3:centos-7
93
94   ## SALT `3002.8`
95   - name: debian-10-3002.8-py3
96     driver:
97       image: saltimages/salt-3002.8-py3:debian-10
98   - name: ubuntu-2004-3002.8-py3
99     driver:
100       image: saltimages/salt-3002.8-py3:ubuntu-20.04
101   - name: ubuntu-1804-3002.8-py3
102     driver:
103       image: saltimages/salt-3002.8-py3:ubuntu-18.04
104   - name: centos-7-3002.8-py3
105     driver:
106       image: saltimages/salt-3002.8-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             - arvados.shell.resources.virtual_machines
152       pillars:
153         top.sls:
154           base:
155             '*':
156               - arvados
157               - example_locale
158               - example_postgres
159               - example_nginx
160               - example_nginx_api
161               - example_nginx_websocket
162               - example_nginx_keepweb
163               - example_nginx_controller
164               # keepproxy expects to retrieve a list of services from API, so
165               # installing/testing it without an api server running will fail
166               - example_nginx_keepproxy
167       pillars_from_files:
168         # yamllint disable rule:line-length
169         arvados.sls: test/salt/pillar/arvados.sls
170         example_locale.sls: test/salt/pillar/examples/locale.sls
171         example_postgres.sls: test/salt/pillar/examples/postgresql.sls
172         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
173         example_nginx_api.sls: test/salt/pillar/examples/nginx_api_configuration.sls
174         example_nginx_websocket.sls: test/salt/pillar/examples/nginx_websocket_configuration.sls
175         example_nginx_keepweb.sls: test/salt/pillar/examples/nginx_keepweb_configuration.sls
176         example_nginx_keepproxy.sls: test/salt/pillar/examples/nginx_keepproxy_configuration.sls
177         example_nginx_controller.sls: test/salt/pillar/examples/nginx_controller_configuration.sls
178         # yamllint enable rule:line-length
179     verifier:
180       inspec_tests:
181         - path: test/integration/api
182         - path: test/integration/websocket
183         - path: test/integration/keepproxy
184         - path: test/integration/keepweb
185         - path: test/integration/controller
186         - path: test/integration/keepbalance
187   #### workbench,workbench2,webshell
188   - name: workbench
189     driver:
190       hostname: workbench.fixme.example.net
191     provisioner:
192       dependencies:
193         - name: single_host
194           path: test/salt/states/examples
195         - name: nginx
196           repo: git
197           source: https://github.com/saltstack-formulas/nginx-formula.git
198       state_top:
199         base:
200           '*':
201             - arvados._mapdata
202             - single_host.host_entries
203             - single_host.snakeoil_certs
204             - nginx.passenger
205             - arvados.repo
206             - arvados.workbench
207             - arvados.workbench2
208       pillars:
209         top.sls:
210           base:
211             '*':
212               - arvados
213               - example_nginx
214               - example_nginx_workbench
215               - example_nginx_workbench2
216               - example_nginx_webshell
217       pillars_from_files:
218         # yamllint disable rule:line-length
219         arvados.sls: test/salt/pillar/arvados.sls
220         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
221         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
222         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
223         example_nginx_webshell.sls: test/salt/pillar/examples/nginx_webshell_configuration.sls
224         # yamllint enable rule:line-length
225     verifier:
226       inspec_tests:
227         - path: test/integration/repo
228         - path: test/integration/workbench
229         - path: test/integration/workbench2
230   #### shell
231   - name: shell
232     driver:
233       hostname: shell.fixme.example.net
234     provisioner:
235       state_top:
236         base:
237           '*':
238             - arvados._mapdata
239             # We also test repo here. No sense for a whole separate suite
240             - arvados.repo
241             - arvados.shell
242       pillars:
243         top.sls:
244           base:
245             '*':
246               - arvados
247       pillars_from_files:
248         arvados.sls: test/salt/pillar/arvados_dev.sls
249     verifier:
250       inspec_tests:
251         - path: test/integration/shell
252   #### keepstore
253   - name: keepstore
254     driver:
255       hostname: keep0.fixme.example.net
256     provisioner:
257       state_top:
258         base:
259           '*':
260             - arvados._mapdata
261             - arvados.repo
262             - arvados.keepstore
263       pillars:
264         top.sls:
265           base:
266             '*':
267               - arvados
268       pillars_from_files:
269         arvados.sls: test/salt/pillar/arvados_dev.sls
270     verifier:
271       inspec_tests:
272         - path: test/integration/keepstore