Add tests for main, app, accessory, traefik and lock commands. Other commands are generally covered by the main tests. Also adds some changes to speed up the integration specs: - Use a persistent volume for the registry so we can push images to to reuse between runs (also gets around docker hub rate limits) - Use persistent volume for mrsk gem install, to avoid re-installing between tests - Shorter stop wait time - Shorter connection timeouts on the load balancer Takes just over 2 minutes to run all tests locally on an M1 Mac after docker caches are primed.
56 lines
968 B
YAML
56 lines
968 B
YAML
version: "3.7"
|
|
name: "mrsk-test"
|
|
|
|
volumes:
|
|
shared:
|
|
registry:
|
|
deployer_bundle:
|
|
|
|
services:
|
|
shared:
|
|
build:
|
|
context: docker/shared
|
|
volumes:
|
|
- shared:/shared
|
|
|
|
deployer:
|
|
privileged: true
|
|
build:
|
|
context: docker/deployer
|
|
volumes:
|
|
- ../..:/mrsk
|
|
- shared:/shared
|
|
- registry:/registry
|
|
- deployer_bundle:/usr/local/bundle/
|
|
|
|
registry:
|
|
build:
|
|
context: docker/registry
|
|
environment:
|
|
- REGISTRY_HTTP_ADDR=0.0.0.0:4443
|
|
- REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt
|
|
- REGISTRY_HTTP_TLS_KEY=/certs/domain.key
|
|
volumes:
|
|
- shared:/shared
|
|
- registry:/var/lib/registry/
|
|
|
|
vm1:
|
|
privileged: true
|
|
build:
|
|
context: docker/vm
|
|
volumes:
|
|
- shared:/shared
|
|
|
|
vm2:
|
|
privileged: true
|
|
build:
|
|
context: docker/vm
|
|
volumes:
|
|
- shared:/shared
|
|
|
|
load_balancer:
|
|
build:
|
|
context: docker/load_balancer
|
|
ports:
|
|
- "12345:80"
|