commit
b713da65c1
67 changed files with 2015 additions and 0 deletions
95
.github/workflows/ci.yml
vendored
Normal file
95
.github/workflows/ci.yml
vendored
Normal file
|
@ -0,0 +1,95 @@
|
|||
name: CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ main ]
|
||||
pull_request:
|
||||
branches: [ main ]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Switch to Current Branch
|
||||
run: git checkout ${{ env.BRANCH }}
|
||||
|
||||
- name: Setup Python 3.10.4
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: '3.10.4'
|
||||
|
||||
- name: Validate Test Files
|
||||
run: |
|
||||
docker-compose -f tests/in/000001.yaml config -q
|
||||
docker-compose -f tests/in/000010.yaml config -q
|
||||
docker-compose -f tests/in/000011.yaml config -q
|
||||
docker-compose -f tests/in/000100.yaml config -q
|
||||
docker-compose -f tests/in/000101.yaml config -q
|
||||
docker-compose -f tests/in/000110.yaml config -q
|
||||
docker-compose -f tests/in/000111.yaml config -q
|
||||
docker-compose -f tests/in/001000.yaml config -q
|
||||
docker-compose -f tests/in/001001.yaml config -q
|
||||
docker-compose -f tests/in/001010.yaml config -q
|
||||
docker-compose -f tests/in/001011.yaml config -q
|
||||
docker-compose -f tests/in/001100.yaml config -q
|
||||
docker-compose -f tests/in/001101.yaml config -q
|
||||
docker-compose -f tests/in/001110.yaml config -q
|
||||
docker-compose -f tests/in/001111.yaml config -q
|
||||
docker-compose -f tests/in/010000.yaml config -q
|
||||
docker-compose -f tests/in/010001.yaml config -q
|
||||
docker-compose -f tests/in/010010.yaml config -q
|
||||
docker-compose -f tests/in/010011.yaml config -q
|
||||
docker-compose -f tests/in/010100.yaml config -q
|
||||
docker-compose -f tests/in/010101.yaml config -q
|
||||
docker-compose -f tests/in/010110.yaml config -q
|
||||
docker-compose -f tests/in/010111.yaml config -q
|
||||
docker-compose -f tests/in/011000.yaml config -q
|
||||
docker-compose -f tests/in/011001.yaml config -q
|
||||
docker-compose -f tests/in/011010.yaml config -q
|
||||
docker-compose -f tests/in/011011.yaml config -q
|
||||
docker-compose -f tests/in/011100.yaml config -q
|
||||
docker-compose -f tests/in/011101.yaml config -q
|
||||
docker-compose -f tests/in/011110.yaml config -q
|
||||
docker-compose -f tests/in/011111.yaml config -q
|
||||
docker-compose -f tests/in/100000.yaml config -q
|
||||
docker-compose -f tests/in/100001.yaml config -q
|
||||
docker-compose -f tests/in/100010.yaml config -q
|
||||
docker-compose -f tests/in/100011.yaml config -q
|
||||
docker-compose -f tests/in/100100.yaml config -q
|
||||
docker-compose -f tests/in/100101.yaml config -q
|
||||
docker-compose -f tests/in/100110.yaml config -q
|
||||
docker-compose -f tests/in/100111.yaml config -q
|
||||
docker-compose -f tests/in/101000.yaml config -q
|
||||
docker-compose -f tests/in/101001.yaml config -q
|
||||
docker-compose -f tests/in/101010.yaml config -q
|
||||
docker-compose -f tests/in/101011.yaml config -q
|
||||
docker-compose -f tests/in/101100.yaml config -q
|
||||
docker-compose -f tests/in/101101.yaml config -q
|
||||
docker-compose -f tests/in/101110.yaml config -q
|
||||
docker-compose -f tests/in/101111.yaml config -q
|
||||
docker-compose -f tests/in/110000.yaml config -q
|
||||
docker-compose -f tests/in/110001.yaml config -q
|
||||
docker-compose -f tests/in/110010.yaml config -q
|
||||
docker-compose -f tests/in/110011.yaml config -q
|
||||
docker-compose -f tests/in/110100.yaml config -q
|
||||
docker-compose -f tests/in/110101.yaml config -q
|
||||
docker-compose -f tests/in/110110.yaml config -q
|
||||
docker-compose -f tests/in/110111.yaml config -q
|
||||
docker-compose -f tests/in/111000.yaml config -q
|
||||
docker-compose -f tests/in/111001.yaml config -q
|
||||
docker-compose -f tests/in/111010.yaml config -q
|
||||
docker-compose -f tests/in/111011.yaml config -q
|
||||
docker-compose -f tests/in/111100.yaml config -q
|
||||
docker-compose -f tests/in/111101.yaml config -q
|
||||
docker-compose -f tests/in/111110.yaml config -q
|
||||
docker-compose -f tests/in/111111.yaml config -q
|
||||
|
||||
- name: Validate Custom Input File
|
||||
run: |
|
||||
pip install pytest
|
||||
pip install pytest-cov
|
||||
pytest
|
||||
python .\tests\test_validate_input_file.py .\tests\validate_input_file.py .\tests\in\docker-compose.yaml
|
26
tests/in/000001.yaml
Normal file
26
tests/in/000001.yaml
Normal file
|
@ -0,0 +1,26 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
11
tests/in/000010.yaml
Normal file
11
tests/in/000010.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
services:
|
||||
base:
|
||||
image: busybox
|
||||
user: root
|
||||
common:
|
||||
image: busybox
|
||||
extends:
|
||||
service: base
|
||||
cli:
|
||||
extends:
|
||||
service: common
|
30
tests/in/000011.yaml
Normal file
30
tests/in/000011.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
extends:
|
||||
service: frontend
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
extends:
|
||||
service: frontend
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
8
tests/in/000100.yaml
Normal file
8
tests/in/000100.yaml
Normal file
|
@ -0,0 +1,8 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
web:
|
||||
build: .
|
||||
ports:
|
||||
- "8000:5000"
|
||||
redis:
|
||||
image: "redis:alpine"
|
32
tests/in/000101.yaml
Normal file
32
tests/in/000101.yaml
Normal file
|
@ -0,0 +1,32 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
ports:
|
||||
- "8000:5000"
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
ports:
|
||||
- "8000:5001"
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
17
tests/in/000110.yaml
Normal file
17
tests/in/000110.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5001"
|
34
tests/in/000111.yaml
Normal file
34
tests/in/000111.yaml
Normal file
|
@ -0,0 +1,34 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
extends:
|
||||
service: frontend
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5001"
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
10
tests/in/001000.yaml
Normal file
10
tests/in/001000.yaml
Normal file
|
@ -0,0 +1,10 @@
|
|||
services:
|
||||
web:
|
||||
build: .
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
redis:
|
||||
image: redis
|
||||
db:
|
||||
image: postgres
|
29
tests/in/001001.yaml
Normal file
29
tests/in/001001.yaml
Normal file
|
@ -0,0 +1,29 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
depends_on:
|
||||
- monitoring
|
||||
- backend
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
12
tests/in/001010.yaml
Normal file
12
tests/in/001010.yaml
Normal file
|
@ -0,0 +1,12 @@
|
|||
services:
|
||||
web:
|
||||
build: .
|
||||
depends_on:
|
||||
- db
|
||||
- redis
|
||||
extends:
|
||||
service: redis
|
||||
redis:
|
||||
image: redis
|
||||
db:
|
||||
image: postgres
|
31
tests/in/001011.yaml
Normal file
31
tests/in/001011.yaml
Normal file
|
@ -0,0 +1,31 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
depends_on:
|
||||
- monitoring
|
||||
- backend
|
||||
extends:
|
||||
service: backend
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
17
tests/in/001100.yaml
Normal file
17
tests/in/001100.yaml
Normal file
|
@ -0,0 +1,17 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
depends_on:
|
||||
- backend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
ports:
|
||||
- "8000:5001"
|
30
tests/in/001101.yaml
Normal file
30
tests/in/001101.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
depends_on:
|
||||
- backend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
21
tests/in/001110.yaml
Normal file
21
tests/in/001110.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
depends_on:
|
||||
- backend
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5001"
|
32
tests/in/001111.yaml
Normal file
32
tests/in/001111.yaml
Normal file
|
@ -0,0 +1,32 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
depends_on:
|
||||
- backend
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
15
tests/in/010000.yaml
Normal file
15
tests/in/010000.yaml
Normal file
|
@ -0,0 +1,15 @@
|
|||
services:
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
|
||||
volumes:
|
||||
db-data:
|
37
tests/in/010001.yaml
Normal file
37
tests/in/010001.yaml
Normal file
|
@ -0,0 +1,37 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
13
tests/in/010010.yaml
Normal file
13
tests/in/010010.yaml
Normal file
|
@ -0,0 +1,13 @@
|
|||
services:
|
||||
common:
|
||||
image: busybox
|
||||
volumes:
|
||||
- common-volume:/var/lib/backup/data:rw
|
||||
cli:
|
||||
extends:
|
||||
service: common
|
||||
volumes:
|
||||
- cli-volume:/var/lib/backup/data:ro
|
||||
volumes:
|
||||
common-volume:
|
||||
cli-volume:
|
39
tests/in/010011.yaml
Normal file
39
tests/in/010011.yaml
Normal file
|
@ -0,0 +1,39 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: monitoring
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
16
tests/in/010100.yaml
Normal file
16
tests/in/010100.yaml
Normal file
|
@ -0,0 +1,16 @@
|
|||
services:
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
ports:
|
||||
- "8000:5000"
|
||||
volumes:
|
||||
db-data:
|
39
tests/in/010101.yaml
Normal file
39
tests/in/010101.yaml
Normal file
|
@ -0,0 +1,39 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
24
tests/in/010110.yaml
Normal file
24
tests/in/010110.yaml
Normal file
|
@ -0,0 +1,24 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: monitoring
|
||||
ports:
|
||||
- "8000:5000"
|
||||
volumes:
|
||||
db-data:
|
41
tests/in/010111.yaml
Normal file
41
tests/in/010111.yaml
Normal file
|
@ -0,0 +1,41 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: monitoring
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
22
tests/in/011000.yaml
Normal file
22
tests/in/011000.yaml
Normal file
|
@ -0,0 +1,22 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
depends_on:
|
||||
- backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
db-data:
|
40
tests/in/011001.yaml
Normal file
40
tests/in/011001.yaml
Normal file
|
@ -0,0 +1,40 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
26
tests/in/011010.yaml
Normal file
26
tests/in/011010.yaml
Normal file
|
@ -0,0 +1,26 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
|
||||
volumes:
|
||||
db-data:
|
42
tests/in/011011.yaml
Normal file
42
tests/in/011011.yaml
Normal file
|
@ -0,0 +1,42 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
28
tests/in/011100.yaml
Normal file
28
tests/in/011100.yaml
Normal file
|
@ -0,0 +1,28 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
ports:
|
||||
- "8000:5000"
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
depends_on:
|
||||
- backend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
ports:
|
||||
- "8000:5001"
|
||||
volumes:
|
||||
db-data:
|
74
tests/in/011101.yaml
Normal file
74
tests/in/011101.yaml
Normal file
|
@ -0,0 +1,74 @@
|
|||
services:
|
||||
vote:
|
||||
build: ./
|
||||
# use python rather than gunicorn for local dev
|
||||
command: python app.py
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- app
|
||||
ports:
|
||||
- "5000:80"
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
result:
|
||||
build: ./
|
||||
# use nodemon rather than node for local dev
|
||||
command: nodemon server.js
|
||||
depends_on:
|
||||
db:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- app
|
||||
ports:
|
||||
- "5001:80"
|
||||
- "5858:5858"
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
worker:
|
||||
build:
|
||||
context: ./
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
db:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- back-tier
|
||||
|
||||
redis:
|
||||
image: redis:5.0-alpine3.10
|
||||
volumes:
|
||||
- "./healthchecks:/healthchecks"
|
||||
healthcheck:
|
||||
test: /healthchecks/redis.sh
|
||||
interval: "5s"
|
||||
ports: ["6379"]
|
||||
networks:
|
||||
- back-tier
|
||||
|
||||
db:
|
||||
image: postgres:9.4
|
||||
environment:
|
||||
POSTGRES_USER: "postgres"
|
||||
POSTGRES_PASSWORD: "postgres"
|
||||
volumes:
|
||||
- "db-data:/var/lib/postgresql/data"
|
||||
- "./healthchecks:/healthchecks"
|
||||
healthcheck:
|
||||
test: /healthchecks/postgres.sh
|
||||
interval: "5s"
|
||||
networks:
|
||||
- back-tier
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
30
tests/in/011110.yaml
Normal file
30
tests/in/011110.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
|
||||
volumes:
|
||||
db-data:
|
44
tests/in/011111.yaml
Normal file
44
tests/in/011111.yaml
Normal file
|
@ -0,0 +1,44 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
9
tests/in/100000.yaml
Normal file
9
tests/in/100000.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
version: "3.9"
|
||||
services:
|
||||
|
||||
web:
|
||||
build: .
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
31
tests/in/100001.yaml
Normal file
31
tests/in/100001.yaml
Normal file
|
@ -0,0 +1,31 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
16
tests/in/100010.yaml
Normal file
16
tests/in/100010.yaml
Normal file
|
@ -0,0 +1,16 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
33
tests/in/100011.yaml
Normal file
33
tests/in/100011.yaml
Normal file
|
@ -0,0 +1,33 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
16
tests/in/100100.yaml
Normal file
16
tests/in/100100.yaml
Normal file
|
@ -0,0 +1,16 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
33
tests/in/100101.yaml
Normal file
33
tests/in/100101.yaml
Normal file
|
@ -0,0 +1,33 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
18
tests/in/100110.yaml
Normal file
18
tests/in/100110.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
35
tests/in/100111.yaml
Normal file
35
tests/in/100111.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
16
tests/in/101000.yaml
Normal file
16
tests/in/101000.yaml
Normal file
|
@ -0,0 +1,16 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
depends_on:
|
||||
- monitoring
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
33
tests/in/101001.yaml
Normal file
33
tests/in/101001.yaml
Normal file
|
@ -0,0 +1,33 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
depends_on:
|
||||
- monitoring
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
18
tests/in/101010.yaml
Normal file
18
tests/in/101010.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
depends_on:
|
||||
- monitoring
|
||||
links:
|
||||
- "db:database"
|
||||
extends:
|
||||
service: frontend
|
||||
db:
|
||||
image: postgres
|
35
tests/in/101011.yaml
Normal file
35
tests/in/101011.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
18
tests/in/101100.yaml
Normal file
18
tests/in/101100.yaml
Normal file
|
@ -0,0 +1,18 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
depends_on:
|
||||
- monitoring
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
35
tests/in/101101.yaml
Normal file
35
tests/in/101101.yaml
Normal file
|
@ -0,0 +1,35 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
depends_on:
|
||||
- monitoring
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
21
tests/in/101110.yaml
Normal file
21
tests/in/101110.yaml
Normal file
|
@ -0,0 +1,21 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
37
tests/in/101111.yaml
Normal file
37
tests/in/101111.yaml
Normal file
|
@ -0,0 +1,37 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
24
tests/in/110000.yaml
Normal file
24
tests/in/110000.yaml
Normal file
|
@ -0,0 +1,24 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
links:
|
||||
- "db:database"
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
db:
|
||||
image: postgres
|
||||
volumes:
|
||||
db-data:
|
42
tests/in/110001.yaml
Normal file
42
tests/in/110001.yaml
Normal file
|
@ -0,0 +1,42 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
28
tests/in/110010.yaml
Normal file
28
tests/in/110010.yaml
Normal file
|
@ -0,0 +1,28 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
volumes:
|
||||
db-data:
|
44
tests/in/110011.yaml
Normal file
44
tests/in/110011.yaml
Normal file
|
@ -0,0 +1,44 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
28
tests/in/110100.yaml
Normal file
28
tests/in/110100.yaml
Normal file
|
@ -0,0 +1,28 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
volumes:
|
||||
db-data:
|
44
tests/in/110101.yaml
Normal file
44
tests/in/110101.yaml
Normal file
|
@ -0,0 +1,44 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
30
tests/in/110110.yaml
Normal file
30
tests/in/110110.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
volumes:
|
||||
db-data:
|
46
tests/in/110111.yaml
Normal file
46
tests/in/110111.yaml
Normal file
|
@ -0,0 +1,46 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
26
tests/in/111000.yaml
Normal file
26
tests/in/111000.yaml
Normal file
|
@ -0,0 +1,26 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
depends_on:
|
||||
- backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
links:
|
||||
- "db:database"
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
db:
|
||||
image: postgres
|
||||
volumes:
|
||||
db-data:
|
44
tests/in/111001.yaml
Normal file
44
tests/in/111001.yaml
Normal file
|
@ -0,0 +1,44 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
30
tests/in/111010.yaml
Normal file
30
tests/in/111010.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
volumes:
|
||||
db-data:
|
46
tests/in/111011.yaml
Normal file
46
tests/in/111011.yaml
Normal file
|
@ -0,0 +1,46 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
30
tests/in/111100.yaml
Normal file
30
tests/in/111100.yaml
Normal file
|
@ -0,0 +1,30 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
volumes:
|
||||
db-data:
|
46
tests/in/111101.yaml
Normal file
46
tests/in/111101.yaml
Normal file
|
@ -0,0 +1,46 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
31
tests/in/111110.yaml
Normal file
31
tests/in/111110.yaml
Normal file
|
@ -0,0 +1,31 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
volumes:
|
||||
db-data:
|
48
tests/in/111111.yaml
Normal file
48
tests/in/111111.yaml
Normal file
|
@ -0,0 +1,48 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
48
tests/in/docker-compose.yaml
Normal file
48
tests/in/docker-compose.yaml
Normal file
|
@ -0,0 +1,48 @@
|
|||
services:
|
||||
frontend:
|
||||
image: awesome/webapp
|
||||
networks:
|
||||
- front-tier
|
||||
- back-tier
|
||||
|
||||
monitoring:
|
||||
image: awesome/monitoring
|
||||
networks:
|
||||
- admin
|
||||
|
||||
|
||||
backend:
|
||||
image: awesome/backend
|
||||
networks:
|
||||
back-tier:
|
||||
aliases:
|
||||
- database
|
||||
admin:
|
||||
aliases:
|
||||
- mysql
|
||||
volumes:
|
||||
- type: volume
|
||||
source: db-data
|
||||
target: /data
|
||||
volume:
|
||||
nocopy: true
|
||||
- type: bind
|
||||
source: /var/run/postgres/postgres.sock
|
||||
target: /var/run/postgres/postgres.sock
|
||||
depends_on:
|
||||
- monitoring
|
||||
extends:
|
||||
service: frontend
|
||||
ports:
|
||||
- "8000:5010"
|
||||
links:
|
||||
- "db:database"
|
||||
db:
|
||||
image: postgres
|
||||
|
||||
networks:
|
||||
front-tier:
|
||||
back-tier:
|
||||
admin:
|
||||
volumes:
|
||||
db-data:
|
5
tests/test_validate_input_file.py
Normal file
5
tests/test_validate_input_file.py
Normal file
|
@ -0,0 +1,5 @@
|
|||
import sys
|
||||
import pytest
|
||||
|
||||
if __name__ == '__main__':
|
||||
pytest.main([sys.argv[1]])
|
6
tests/validate_input_file.py
Normal file
6
tests/validate_input_file.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
import os
|
||||
import sys
|
||||
|
||||
def test_validate_input_file():
|
||||
process = os.system("docker-compose -f " + sys.argv[2] + " config -q")
|
||||
assert process == 0
|
Loading…
Reference in a new issue