-
Notifications
You must be signed in to change notification settings - Fork 2
/
docker-compose.yml
108 lines (99 loc) · 3.16 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
version: "3.4"
volumes:
prometheus:
grafana:
influxdb:
configs:
prometheus_4:
file: internal/resources/monitor/prometheus.yml
grafana_datasource_3:
file: internal/resources/monitor/grafana_ds.yml
grafana_dashboards_2:
file: internal/resources/monitor/dashboards.yml
grafana_dashboard_10:
file: internal/resources/monitor/proxy_dashboard.json
services:
configcat_proxy:
build:
context: .
dockerfile: ./Dockerfile
volumes:
- ./internal/resources/cert:/cert
environment:
- CONFIGCAT_LOG_LEVEL=debug
- CONFIGCAT_GRPC_KEEP_ALIVE_MAX_CONNECTION_IDLE=15
- CONFIGCAT_GRPC_SERVER_REFLECTION_ENABLED=true
- CONFIGCAT_SDKS={"sdk1":"XxPbCKmzIUGORk4vsufpzw/iC_KABprDEueeQs3yovVnQ", "sdk2":"XxPbCKmzIUGORk4vsufpzw/6ft7XQudcEuIXY49grZM9w"}
- CONFIGCAT_SDK1_BASE_URL=https://test-cdn-global.configcat.com
- CONFIGCAT_SDK1_POLL_INTERVAL=300
- CONFIGCAT_SDK1_LOG_LEVEL=error
- CONFIGCAT_SDK1_WEBHOOK_SIGNING_KEY=configcat_whsk_Dj59sEWxRmm+84izQ8Cbn9o4Pnjz7E+/hxcmyfEVT+A=
- CONFIGCAT_SDK2_BASE_URL=https://test-cdn-global.configcat.com
- CONFIGCAT_SDK2_POLL_INTERVAL=300
- CONFIGCAT_SDK2_WEBHOOK_SIGNING_KEY=configcat_whsk_a8w2b38Ofhs0rzXbZhNCvPTeTeUxmerTBy9PzMCX6+E=
- CONFIGCAT_SDK2_LOG_LEVEL=error
# - CONFIGCAT_SDK2_OFFLINE_ENABLED=true
# - CONFIGCAT_SDK2_OFFLINE_USE_CACHE=true
- CONFIGCAT_CACHE_REDIS_ENABLED=true
- CONFIGCAT_CACHE_REDIS_ADDRESSES=["redis:6379"]
# - CONFIGCAT_CACHE_MONGODB_ENABLED=true
# - CONFIGCAT_CACHE_MONGODB_URL=mongodb://mongodb:27017
# - CONFIGCAT_CACHE_DYNAMODB_ENABLED=true
# - CONFIGCAT_CACHE_DYNAMODB_URL=http://dynamodb:8000
# - AWS_ACCESS_KEY_ID=key
# - AWS_SECRET_ACCESS_KEY=secret
# - AWS_SESSION_TOKEN=session
# - AWS_DEFAULT_REGION=us-east-1
- CONFIGCAT_TLS_ENABLED=true
- CONFIGCAT_TLS_CERTIFICATES=[{"key":"./cert/localhost.key","cert":"./cert/localhost.crt"}]
- CONFIGCAT_HTTP_PROXY_URL=http://squid:3128
ports:
- "8050:8050"
- "8051:8051"
- "50051:50051"
depends_on:
- redis
- squid
prometheus:
image: prom/prometheus
configs:
- source: prometheus_4
target: /etc/prometheus/prometheus.yml
volumes:
- prometheus:/prometheus
ports:
- "9090:9090"
depends_on:
- configcat_proxy
grafana:
image: grafana/grafana
ports:
- "3100:3000"
volumes:
- grafana:/var/lib/grafana
configs:
- source: grafana_datasource_3
target: /etc/grafana/provisioning/datasources/prometheus.yml
- source: grafana_dashboards_2
target: /etc/grafana/provisioning/dashboards/dashboards.yml
- source: grafana_dashboard_10
target: /etc/grafana/provisioning/dashboards/proxy/proxy_dashboard.json
depends_on:
- configcat_proxy
- prometheus
redis:
image: redis:7.0.8-alpine3.17
ports:
- "6379:6379"
mongodb:
image: mongodb/mongodb-community-server
ports:
- "27017:27017"
dynamodb:
image: amazon/dynamodb-local
ports:
- "8000:8000"
squid:
image: ubuntu/squid
ports:
- "3128:3128"