Merge pull request #4 from netmanagers/refactor-config-add-service
[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
59   ## SALT `3000.3`
60   - name: debian-10-3000-3-py3
61     driver:
62       image: saltimages/salt-3000.3-py3:debian-10
63   - name: debian-9-3000-3-py3
64     driver:
65       image: saltimages/salt-3000.3-py3:debian-9
66   - name: ubuntu-1804-3000-3-py3
67     driver:
68       image: saltimages/salt-3000.3-py3:ubuntu-18.04
69   - name: centos-7-3000-3-py3
70     driver:
71       image: saltimages/salt-3000.3-py3:centos-7
72   - name: ubuntu-1804-3000-3-py2
73     driver:
74       image: saltimages/salt-3000.3-py2:ubuntu-18.04
75
76 provisioner:
77   name: salt_solo
78   log_level: debug
79   salt_install: none
80   require_chef: false
81   formula: arvados
82   salt_copy_filter:
83     - .kitchen
84     - .git
85
86 verifier:
87   # https://www.inspec.io/
88   name: inspec
89   sudo: true
90   # cli, documentation, html, progress, json, json-min, json-rspec, junit
91   reporter:
92     - cli
93
94 suites:
95   #### api,websocket,keepproxy,keepweb,controller
96   - name: api
97     driver:
98       hostname: fixme.example.net
99     provisioner:
100       state_top:
101         base:
102           '*':
103             - example_add_snakeoil_certs
104             - locale
105             - nginx.passenger
106             - postgres
107             - arvados.repo
108             # - arvados.config
109             # - arvados.ruby
110             - arvados.api
111             - arvados.websocket
112             # keepproxy complains when using snakeoil certs, so we can't
113             # properly test it here until next version removes this limitation
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: example_add_snakeoil_certs
147           path: test/salt/states
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             - example_add_snakeoil_certs
174             - nginx.passenger
175             - arvados.repo
176             - arvados.workbench
177             - arvados.workbench2
178       pillars:
179         top.sls:
180           base:
181             '*':
182               - arvados
183               - example_nginx
184               - example_nginx_workbench
185               - example_nginx_workbench2
186       pillars_from_files:
187         # yamllint disable rule:line-length
188         arvados.sls: test/salt/pillar/arvados.sls
189         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
190         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
191         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
192         # yamllint enable rule:line-length
193       dependencies:
194         - name: example_add_snakeoil_certs
195           path: test/salt/states
196         - name: nginx
197           repo: git
198           source: https://github.com/saltstack-formulas/nginx-formula.git
199     verifier:
200       inspec_tests:
201         - path: test/integration/workbench
202         - path: test/integration/workbench2
203
204   #### shell
205   - name: shell
206     driver:
207       hostname: shell.fixme.example.net
208     provisioner:
209       state_top:
210         base:
211           '*':
212             # We also test repo here. No sense for a whole separate suite
213             - arvados.repo
214             - arvados.shell
215       pillars:
216         top.sls:
217           base:
218             '*':
219               - arvados
220       pillars_from_files:
221         arvados.sls: test/salt/pillar/arvados_dev.sls
222     verifier:
223       inspec_tests:
224         - path: test/integration/shell
225
226   #### keepstore
227   - name: keepstore
228     driver:
229       hostname: keep0.fixme.example.net
230     provisioner:
231       state_top:
232         base:
233           '*':
234             - arvados.repo
235             - arvados.keepstore
236             # - arvados.clean
237       pillars:
238         top.sls:
239           base:
240             '*':
241               - arvados
242       pillars_from_files:
243         arvados.sls: test/salt/pillar/arvados.sls
244     verifier:
245       inspec_tests:
246         - path: test/integration/repo
247         - path: test/integration/keepstore