-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
138 lines (129 loc) · 2.88 KB
/
docker-compose.yml
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
services:
postgres:
build:
context: .
dockerfile: Dockerfile
entrypoint: /usr/local/bin/postgres-mock
deploy:
replicas: 1
ports:
- "5431:5432"
cplane:
build:
context: .
dockerfile: Dockerfile
entrypoint: /usr/local/bin/cplane-mock
deploy:
replicas: 1
environment:
PROXY_COMPUTE_ADDR: "postgres:5432"
ports:
- "3010:3010"
load:
build:
context: .
dockerfile: Dockerfile
entrypoint: /usr/local/bin/postgres-bench
deploy:
replicas: 4
environment:
PG_HOST: "neon"
PG_ADDR: "haproxy:5432"
PG_CONNECTION_RATE: "50"
PG_CONNECTING_MAX: "100"
PG_CONNECTION_MAX: "250"
depends_on:
- haproxy
http-load:
build:
context: .
dockerfile: Dockerfile
entrypoint: /usr/local/bin/http-bench
deploy:
replicas: 1
environment:
PG_HOST: "neon"
PG_ADDR: "haproxy:5432"
PG_CONNECTION_RATE: "50"
PG_CONNECTION_MAX: "5"
depends_on:
- haproxy
haproxy:
image: haproxy:2.9
scale: 2
depends_on:
- proxy
volumes:
- type: bind
source: config/haproxy.cfg
target: /usr/local/etc/haproxy/haproxy.cfg
proxy:
image: "neondatabase/neon:release-7765"
command:
- proxy
- --auth-backend
- cplane-v1
- --auth-endpoint
- "http://cplane:3010/proxy/api/v1"
- -c
- proxy.crt
- -k
- proxy.key
- --proxy
- "0.0.0.0:5432"
- --http
- "0.0.0.0:8080"
- --wss
- "0.0.0.0:443"
- --project-info-cache
- "size=100000,ttl=60m,max_roles=10,gc_interval=60m"
- --wake-compute-cache
- "size=100000,ttl=60m"
environment:
OTEL_EXPORTER_OTLP_ENDPOINT: "http://jaeger:4318"
RUST_LOG: "info"
volumes:
- type: bind
source: target/proxy.crt
target: /data/proxy.crt
- type: bind
source: target/proxy.key
target: /data/proxy.key
depends_on:
- cplane
- postgres
ports:
- "5432:5432"
- "4443:443"
# jaeger:
# image: jaegertracing/all-in-one:latest
# ports:
# - "16686:16686"
prometheus:
image: prom/prometheus
container_name: prometheus
command:
- "--config.file=/etc/prometheus/prometheus.yml"
ports:
- 9090:9090
restart: unless-stopped
volumes:
- type: bind
source: config/prometheus.yml
target: /etc/prometheus/prometheus.yml
- prom_data:/prometheus
grafana:
image: grafana/grafana
container_name: grafana
ports:
- 3000:3000
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=grafana
volumes:
- type: bind
source: config/grafana.yml
target: /etc/grafana/provisioning/datasources/datasource.yml
volumes:
prom_data: