-
Notifications
You must be signed in to change notification settings - Fork 10
Expand file tree
/
Copy pathdocker-compose.test.yml
More file actions
145 lines (136 loc) · 3.79 KB
/
docker-compose.test.yml
File metadata and controls
145 lines (136 loc) · 3.79 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
# yaml-language-server: $schema=https://raw.githubusercontent.com/compose-spec/compose-spec/master/schema/compose-spec.json
services:
db:
extends:
file: ./docker-compose.base.yml
service: db
env_file: ./.env.docker-compose.dev
volumes:
- postgres_test_data:/var/lib/postgresql/data
networks:
- app-network
profiles:
- test
- integration
ports:
- 54322:5432
minio:
extends:
file: ./docker-compose.base.yml
service: minio
env_file: ./.env.docker-compose.dev
volumes:
- minio_data:/data
networks:
- app-network
profiles:
- test
- integration
ports:
- 9000:9000
- 9001:9001
minio-init:
depends_on:
minio:
condition: service_healthy
env_file: ./.env.docker-compose.dev
extends:
file: ./docker-compose.base.yml
service: minio-init
networks:
- app-network
profiles:
- test
- integration
inbucket:
extends:
file: ./docker-compose.base.yml
service: inbucket
env_file: ./.env.docker-compose.dev
networks:
- app-network
profiles:
- test
- integration
cache:
env_file: ./.env.docker-compose.dev
extends:
file: docker-compose.base.yml
service: cache
networks:
- app-network
profiles:
- test
- integration
ports:
- 6379:6379
jobs:
container_name: jobs
image: ${JOBS_IMAGE}
platform: linux/amd64
env_file: .env.docker-compose.dev
environment:
- OTEL_SERVICE_NAME=jobs.jobs
- PUBSTAR_URL=${JOBS_INTEGRATION_PUBSTAR_URL:-http://integration-tests:3000}
networks:
- app-network
depends_on:
- db
profiles:
- integration
integration-tests:
image: ${INTEGRATION_TESTS_IMAGE}
env_file: ./.env.docker-compose.dev
environment:
- PORT=3000
- CI=true
depends_on:
jobs:
# TODO: add a healthcheck for jobs
condition: service_started
db:
condition: service_started
inbucket:
condition: service_started
# platform: linux/amd64
healthcheck:
test: [ "CMD-SHELL", "curl http://integration-tests:3000/api/health" ]
interval: 10s
timeout: 5s
retries: 5
profiles:
- integration
ports:
- 3000:3000
networks:
- app-network
# Enable host.docker.internal on Linux for mock server access during tests
extra_hosts:
- "host.docker.internal:host-gateway"
site-builder:
image: ${SITE_BUILDER_IMAGE}
depends_on:
- integration-tests
- jobs
- minio
ports:
- "4000:4000"
restart: on-failure
networks:
- app-network
profiles:
- integration
environment:
- PUBSTAR_URL=http://integration-tests:3000
- S3_ENDPOINT=${S3_ENDPOINT:-http://minio:9000}
- S3_REGION=${S3_REGION:-us-east-1}
- S3_ACCESS_KEY=${S3_ACCESS_KEY:-preview-different}
- S3_SECRET_KEY=${S3_SECRET_KEY:-preview-different123}
- S3_BUCKET_NAME=${S3_BUCKET_NAME:-byron}
- PORT=4000
volumes:
minio_data:
postgres_test_data:
driver: local
networks:
app-network: