chore(gemfile.lock): update to latest gem versions (2020-W27) [skip ci]
[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 `3000.3`
15   - name: debian-10-3000-3-py3
16     driver:
17       image: saltimages/salt-3000.3-py3:debian-10
18
19 #   - name: ubuntu-1804-3000-3-py3
20 #     driver:
21 #       image: saltimages/salt-3000.3-py3:ubuntu-18.04
22
23 #   ## SALT `2019.2`
24 #   - name: centos-7-2019-2-py3
25 #     driver:
26 #       image: saltimages/salt-2019.2-py3:centos-7
27
28 provisioner:
29   name: salt_solo
30   log_level: debug
31   salt_install: none
32   require_chef: false
33   formula: arvados
34   salt_copy_filter:
35     - .kitchen
36     - .git
37
38 verifier:
39   # https://www.inspec.io/
40   name: inspec
41   sudo: true
42   # cli, documentation, html, progress, json, json-min, json-rspec, junit
43   reporter:
44     - cli
45
46 suites:
47   #### api,websocket,keepproxy,keepweb,controller
48   - name: api
49     driver:
50       hostname: example.net
51     provisioner:
52       state_top:
53         base:
54           '*':
55             - example_add_snakeoil_certs
56             - nginx.passenger
57             - postgres
58             - arvados.repo
59             - arvados.api
60             - arvados.websocket
61             # keepproxy complains when using snakeoil certs, so we can't
62             # properly test it here until next version removes this limitation
63             # - arvados.keepproxy
64             - arvados.keepweb
65             - arvados.controller
66       pillars:
67         top.sls:
68           base:
69             '*':
70               - arvados
71               - example_postgres
72               - example_nginx
73               - example_nginx_api
74               - example_nginx_websocket
75               - example_nginx_keepweb
76               - example_nginx_controller
77               # keepproxy expects to retrieve a list of services from API, so
78               # installing/testing it without an api server running will fail
79               # - example_nginx_keepproxy
80       pillars_from_files:
81         # yamllint disable rule:line-length
82         arvados.sls: pillar.example
83         example_postgres.sls: test/salt/pillar/examples/postgresql.sls
84         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
85         example_nginx_api.sls: test/salt/pillar/examples/nginx_api_configuration.sls
86         example_nginx_websocket.sls: test/salt/pillar/examples/nginx_websocket_configuration.sls
87         example_nginx_keepweb.sls: test/salt/pillar/examples/nginx_keepweb_configuration.sls
88         # example_nginx_keepproxy.sls: test/salt/pillar/examples/nginx_keepproxy_configuration.sls
89         example_nginx_controller.sls: test/salt/pillar/examples/nginx_controller_configuration.sls
90         # yamllint enable rule:line-length
91       dependencies:
92         - name: example_add_snakeoil_certs
93           path: test/salt/states
94         - name: postgres
95           repo: git
96           source: https://github.com/saltstack-formulas/postgres-formula.git
97         - name: nginx
98           repo: git
99           source: https://github.com/saltstack-formulas/nginx-formula.git
100     verifier:
101       inspec_tests:
102         - path: test/integration/api
103         - path: test/integration/websocket
104         # - path: test/integration/keepproxy
105         - path: test/integration/keepweb
106         - path: test/integration/controller
107
108   #### workbench,workbench2
109   - name: workbench
110     driver:
111       hostname: workbench.example.net
112     provisioner:
113       state_top:
114         base:
115           '*':
116             - example_add_snakeoil_certs
117             - nginx.passenger
118             - arvados.repo
119             - arvados.workbench
120             - arvados.workbench2
121       pillars:
122         top.sls:
123           base:
124             '*':
125               - arvados
126               - example_nginx
127               - example_nginx_workbench
128               - example_nginx_workbench2
129       pillars_from_files:
130         # yamllint disable rule:line-length
131         arvados.sls: pillar.example
132         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
133         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
134         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
135         # yamllint enable rule:line-length
136       dependencies:
137         - name: example_add_snakeoil_certs
138           path: test/salt/states
139         - name: nginx
140           repo: git
141           source: https://github.com/saltstack-formulas/nginx-formula.git
142     verifier:
143       inspec_tests:
144         - path: test/integration/workbench
145         - path: test/integration/workbench2
146
147   #### shell
148   - name: shell
149     driver:
150       hostname: shell.example.net
151     provisioner:
152       state_top:
153         base:
154           '*':
155             # We also test repo here. No sense for a whole separate suite
156             - arvados.repo
157             - arvados.shell
158       pillars:
159         top.sls:
160           base:
161             '*':
162               - arvados
163       pillars_from_files:
164         arvados.sls: pillar.example
165     verifier:
166       inspec_tests:
167         - path: test/integration/repo
168         - path: test/integration/shell
169
170   #### keepstore
171   - name: keepstore
172     driver:
173       hostname: keep0.example.net
174     provisioner:
175       state_top:
176         base:
177           '*':
178             - arvados.repo
179             - arvados.keepstore.service
180             # - arvados.clean
181       pillars:
182         top.sls:
183           base:
184             '*':
185               - arvados
186       pillars_from_files:
187         arvados.sls: pillar.example
188     verifier:
189       inspec_tests:
190         - path: test/integration/keepstore