-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
118 lines (103 loc) · 3.22 KB
/
docker-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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
x-service: &service
image: public.ecr.aws/firetiger/firetiger:latest
volumes:
- storage:/mnt/storage
environment:
- FT_BUCKET=file:///mnt/storage
- FT_CREATE=true
- FT_CATALOG=sqlite3:///mnt/storage/catalog.sqlite?cache=shared
- FT_NAMESPACE=firetiger.docker.compose
- FT_LOG_LEVEL=debug
- FT_LOG_FORMAT=cli
- GOLANG_PROTOBUF_REGISTRATION_CONFLICT=ignore # https://protobuf.dev/reference/go/faq/#namespace-conflict
- OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4318
healthcheck:
test: curl -f http://localhost:4317/ready
interval: 10s
timeout: 3s
retries: 3
start_period: 5s
restart: always
services:
firetiger-api-gateway:
image: traefik:v2.10
command:
- "--accesslog=true"
- "--api.insecure=true"
- "--log.level=INFO"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
- "--providers.file.directory=/etc/traefik/dynamic"
- "--entrypoints.web.address=:80"
- "--ping=true"
ports:
- 4317:80
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./docker-traefik.yaml:/etc/traefik/dynamic/routes.yml:ro
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:8080/ping
interval: 10s
timeout: 3s
retries: 3
start_period: 5s
firetiger-logs-ingest-server:
<<: *service
command: run ingest server
firetiger-metrics-ingest-server:
<<: *service
command: run ingest server
firetiger-traces-ingest-server:
<<: *service
command: run ingest server
firetiger-logs-ingest-worker:
<<: *service
command: run ingest worker --create --table=logs
firetiger-metrics-ingest-worker:
<<: *service
command: run ingest worker --create --table=metrics
firetiger-traces-ingest-worker:
<<: *service
command: run ingest worker --create --table=traces
firetiger-logs-compaction-worker:
<<: *service
command: run compaction worker --table=logs
firetiger-metrics-compaction-worker:
<<: *service
command: run compaction worker --table=metrics
firetiger-traces-compaction-worker:
<<: *service
command: run compaction worker --table=traces
firetiger-logs-query-server:
<<: *service
command: run query server --table=logs
firetiger-metrics-query-server:
<<: *service
command: run query server --table=metrics
grafana:
image: grafana/grafana:latest
ports:
- 8321:3000
environment:
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_DATAPROXY_TIMEOUT=60
- GF_DATABASE_TYPE=sqlite3
- GF_DATABASE_PATH=/var/lib/grafana/grafana.db
volumes:
- grafana:/var/lib/grafana
- ./docker-grafana.yaml:/etc/grafana/provisioning/datasources/ds.yaml:ro
otel-collector:
image: otel/opentelemetry-collector-contrib
ports:
- 1888:1888 # pprof extension
- 8888:8888 # Prometheus metrics exposed by the Collector
- 8889:8889 # Prometheus exporter metrics
- 13133:13133 # health_check extension
- 4319:4317 # OTLP gRPC receiver # Modified host port so it doesn't conflict
- 4318:4318 # OTLP http receiver
- 55679:55679 # zpages extension
volumes:
grafana:
storage: