-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompose.yaml
97 lines (90 loc) · 2.27 KB
/
compose.yaml
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
services:
datadog:
image: datadog/agent:7.57.2
environment:
- DD_API_KEY=${DD_API_KEY}
- DD_ENV=${USER}-local
- DD_DOGSTATSD_SOCKET=/var/run/dogstatsd/dogstatsd.sock
- DD_OTLP_CONFIG_RECEIVER_PROTOCOLS_GRPC_ENDPOINT=0.0.0.0:4317
- DD_LOGS_ENABLED=true
- DD_OTLP_CONFIG_LOGS_ENABLED=true
volumes:
- /var/run/dogstatsd:/var/run/dogstatsd
- /var/run/docker.sock:/var/run/docker.sock:ro
- /proc/:/host/proc/:ro
- /sys/fs/cgroup/:/host/sys/fs/cgroup:ro
ports:
- "8126:8126"
- "8125:8125/udp"
- "4317:4317"
appointments:
build: ./appointments
ports:
- "3001:3001"
command: npm run start
environment:
- DD_AGENT_HOST=datadog
- DD_TRACE_AGENT_PORT=8126
- DD_SERVICE=appointments
customers:
build: ./customers
ports:
- "3002:3002"
command: npm run start
environment:
- DD_AGENT_HOST=datadog
- DD_TRACE_AGENT_PORT=8126
- DD_SERVICE=customers
sales:
build: ./sales
ports:
- "3003:3003"
command: npm run start
environment:
- DD_AGENT_HOST=datadog
- DD_TRACE_AGENT_PORT=8126
- DD_SERVICE=sales
auth:
build: ./auth
ports:
- "3004:3004"
command: npm run start
environment:
- DD_AGENT_HOST=datadog
- DD_TRACE_AGENT_PORT=8126
- DD_SERVICE=auth
volumes:
- ./auth/keys.json:/app/keys.json
gateway:
build: ./gateway
ports:
- "4001:4000"
command: /bin/sh -c "npx mesh-compose > supergraph.graphql && npx hive-gateway supergraph"
environment:
- OPENTELEMETRY_COLLECTOR_ENDPOINT="http://datadog:4317"
- JWKS_URI=http://auth:3004/jwks
- APPOINTMENTS_API_URL=http://appointments:3001/graphql
- CUSTOMERS_API_URL=http://customers:3002/graphql
- SALES_API_URL=http://sales:3003/graphql
depends_on:
- appointments
- customers
- sales
- auth
nginx:
image: nginx:alpine
ports:
- "4002:443"
volumes:
- ./nginx/http2.conf:/etc/nginx/conf.d/default.conf
- ./nginx/ssl:/etc/nginx/ssl
depends_on:
- gateway
web-client:
build: ./web-client
ports:
- "8080:8080"
command: npm run preview
depends_on:
- gateway
- nginx