-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
191 lines (182 loc) · 4.54 KB
/
Copy pathdocker-compose.yml
File metadata and controls
191 lines (182 loc) · 4.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
services:
sovereign:
platform: linux/amd64
build:
context: .
dockerfile: containers/Dockerfile
target: production
environment:
AWS_ACCESS_KEY_ID: access_key
AWS_DEFAULT_REGION: ap-southeast-2
AWS_LOCAL_URL: http://aws:3000
AWS_SECRET_ACCESS_KEY: secret_key
LOG_FORMAT: "${LOG_FORMAT:-}"
S3_BUCKET_NAME: &bucket_name fake-bucket-name
S3_BUCKET_PREFIX: &bucket_prefix entry-
SOVEREIGN_AUTH_PASSWORDS: 'helloworld,2398yud32r9y#@8d23rydr398d2r39y@@2rd39nd2%%r3y98!!!!' # Example passwords
SOVEREIGN_CONFIG: file://test/config/config.yaml
SOVEREIGN_DEBUG: 'yes'
SOVEREIGN_ENCRYPTION_KEY: > # This key is for local development only
dU9QkiO3JTDdVXzgtUqr_HPuH4hbLBarrAQmsM1_PKk=:fernet
KjDxQrHuNrPRHICv1Qef6Sr_XHxsv7oarJdwB98R2wk=:fernet
SOVEREIGN_ENVIRONMENT_TYPE: local
SOVEREIGN_HOST: '0.0.0.0'
SOVEREIGN_PORT: '8080'
SOVEREIGN_WORKER_V2_ENABLED: "${SOVEREIGN_WORKER_V2_ENABLED:-0}"
healthcheck:
test: 'curl -f localhost:8080/deepcheck || exit 1'
interval: 120s
timeout: 5s
retries: 10
start_period: 30s
start_interval: 1s
ports:
- "80:8080"
expose:
- 80
networks:
- default
depends_on:
- statsd
- mock
- aws
envoy:
platform: linux/amd64
build:
context: .
dockerfile: containers/Dockerfile.envoy
args:
IMAGE_TAG: "${IMAGE_TAG:-1.30.0}"
volumes:
- .:/app
- ./logs:/var/log/envoy
depends_on:
- sovereign
working_dir: /app
environment:
ENVOY_UID: '0'
ENVOY_GID: '0'
ENVOY_LOGLEVEL: info
ENVOY_CONFIG: /app/test/config/bootstrap_rest.yaml
ENVOY_ZONE: us-east-1
networks:
- default
tavern-unit:
platform: linux/amd64
build:
context: .
dockerfile: containers/Dockerfile
target: testing
command: >
pytest
-vv
--durations=20
--ignore=test/acceptance
--ignore=test/performance
--junitxml=/proj/test-reports/unit.xml
volumes:
- ./test-reports:/proj/test-reports
depends_on:
- http_server
- mock
- aws
environment: &test_env_vars
CONFIG_LOADER_TEST: '{"hello": "world"}'
SOVEREIGN_ENVIRONMENT_TYPE: local
SOVEREIGN_CONFIG: file://test/config/config.yaml
AWS_ACCESS_KEY_ID: access_key
AWS_SECRET_ACCESS_KEY: secret_key
AWS_LOCAL_URL: http://aws:3000
S3_BUCKET_NAME: *bucket_name
S3_BUCKET_PREFIX: *bucket_prefix
networks:
- default
tavern-acceptance:
platform: linux/amd64
build:
context: .
dockerfile: containers/Dockerfile
target: testing
command: >
pytest
-vv
--durations=20
--ignore=test/unit
--ignore=test/performance
--junitxml=/proj/test-reports/acceptance.xml
-m "${PYTEST_MARK:-not v1_9_0} or all"
volumes:
- ./test-reports:/proj/test-reports
environment: *test_env_vars
networks:
- default
statsd:
platform: linux/amd64
image: jancajthaml/datadog_mock
networks:
- default
http_server:
platform: linux/amd64
image: halverneus/static-file-server:latest
volumes:
- ./test/http_config:/web
environment:
DEBUG: true
SHOW_LISTING: true
networks:
- default
mock:
platform: linux/amd64
build:
context: containers
dockerfile: Dockerfile.mock
healthcheck:
test: 'curl -f localhost:8000/health || exit 1'
interval: 120s
timeout: 5s
retries: 10
start_period: 30s
start_interval: 1s
command: ["uvicorn", "mock_data:app", "--host=0.0.0.0", "--port=8000"]
networks:
- default
ports:
- "8000:8000"
expose:
- 8000
aws:
platform: linux/amd64
build:
context: containers
dockerfile: Dockerfile.moto
ports:
- "3000:3000"
environment:
MOTO_PORT: '3000'
S3_BUCKET_NAME: *bucket_name
AWS_DEFAULT_REGION: ap-southeast-2
AWS_ACCESS_KEY_ID: access_key
AWS_SECRET_ACCESS_KEY: secret_key
healthcheck:
test: "/usr/local/bin/moto-healthcheck.sh"
interval: 120s
timeout: 5s
retries: 10
start_period: 30s
start_interval: 1s
networks:
- default
publisher:
platform: linux/amd64
build:
context: .
dockerfile: containers/Dockerfile
target: publish
networks:
- default
networks:
default:
driver: bridge
ipam:
config:
- subnet: 172.16.100.0/28