feat(components): add submodules and tests
[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.1`
15   - name: debian-10-3000-1-py3
16     driver:
17       image: netmanagers/salt-3000.1-py3:debian-10
18
19 #   - name: ubuntu-1804-3000-1-py3
20 #     driver:
21 #       image: netmanagers/salt-3000.1-py3:ubuntu-18.04
22
23 #   ## SALT `2019.2`
24 #   - name: centos-7-2019-2-py3
25 #     driver:
26 #       image: netmanagers/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         arvados.sls: pillar.example
82         example_postgres.sls: test/salt/pillar/examples/postgresql.sls
83         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
84         example_nginx_api.sls: test/salt/pillar/examples/nginx_api_configuration.sls
85         example_nginx_websocket.sls: test/salt/pillar/examples/nginx_websocket_configuration.sls
86         example_nginx_keepweb.sls: test/salt/pillar/examples/nginx_keepweb_configuration.sls
87         # example_nginx_keepproxy.sls: test/salt/pillar/examples/nginx_keepproxy_configuration.sls
88         example_nginx_controller.sls: test/salt/pillar/examples/nginx_controller_configuration.sls
89       dependencies:
90         - name: example_add_snakeoil_certs
91           path: test/salt/states
92         - name: postgres
93           repo: git
94           source: https://github.com/saltstack-formulas/postgres-formula.git
95         - name: nginx
96           repo: git
97           source: https://github.com/saltstack-formulas/nginx-formula.git
98     verifier:
99       inspec_tests:
100         - path: test/integration/api
101         - path: test/integration/websocket
102         # - path: test/integration/keepproxy
103         - path: test/integration/keepweb
104         - path: test/integration/controller
105
106   #### workbench,workbench2
107   - name: workbench
108     driver:
109       hostname: workbench.example.net
110     provisioner:
111       state_top:
112         base:
113           '*':
114             - example_add_snakeoil_certs
115             - nginx.passenger
116             - arvados.repo
117             - arvados.workbench
118             - arvados.workbench2
119       pillars:
120         top.sls:
121           base:
122             '*':
123               - arvados
124               - example_nginx
125               - example_nginx_workbench
126               - example_nginx_workbench2
127       pillars_from_files:
128         arvados.sls: pillar.example
129         example_nginx.sls: test/salt/pillar/examples/nginx_passenger.sls
130         example_nginx_workbench.sls: test/salt/pillar/examples/nginx_workbench_configuration.sls
131         example_nginx_workbench2.sls: test/salt/pillar/examples/nginx_workbench2_configuration.sls
132       dependencies:
133         - name: example_add_snakeoil_certs
134           path: test/salt/states
135         - name: nginx
136           repo: git
137           source: https://github.com/saltstack-formulas/nginx-formula.git
138     verifier:
139       inspec_tests:
140         - path: test/integration/workbench
141         - path: test/integration/workbench2
142
143   #### shell
144   - name: shell
145     driver:
146       hostname: shell.example.net
147     provisioner:
148       state_top:
149         base:
150           '*':
151             # We also test repo here. No sense for a whole separate suite
152             - arvados.repo
153             - arvados.shell
154       pillars:
155         top.sls:
156           base:
157             '*':
158               - arvados
159       pillars_from_files:
160         arvados.sls: pillar.example
161     verifier:
162       inspec_tests:
163         - path: test/integration/repo
164         - path: test/integration/shell
165
166   #### keepstore
167   - name: keepstore
168     driver:
169       hostname: keep0.example.net
170     provisioner:
171       state_top:
172         base:
173           '*':
174             - arvados.repo
175             - arvados.keepstore.service
176             # - arvados.clean
177       pillars:
178         top.sls:
179           base:
180             '*':
181               - arvados
182       pillars_from_files:
183         arvados.sls: pillar.example
184     verifier:
185       inspec_tests:
186         - path: test/integration/keepstore