forked from apache/polaris
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
100 lines (94 loc) · 3.53 KB
/
docker-compose.yml
File metadata and controls
100 lines (94 loc) · 3.53 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
#
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#
services:
polaris:
image: apache/polaris:latest
ports:
# API port
- "8181:8181"
# Management port (metrics and health checks)
- "8182:8182"
depends_on:
jaeger:
condition: service_healthy
environment:
POLARIS_BOOTSTRAP_CREDENTIALS: POLARIS,${CLIENT_ID},${CLIENT_SECRET}
quarkus.otel.exporter.otlp.endpoint: http://jaeger:4317
# Resource attributes (added to all traces)
quarkus.otel.resource.attributes[0]: polaris.app=polaris-getting-started
quarkus.otel.resource.attributes[1]: polaris.env=dev
polaris.features."ALLOW_INSECURE_STORAGE_TYPES": "true"
polaris.features."SUPPORTED_CATALOG_STORAGE_TYPES": "[\"FILE\",\"S3\",\"GCS\",\"AZURE\"]"
polaris.readiness.ignore-severe-issues: "true"
# Custom metrics (added to all requests)
polaris.metrics.tags.app: polaris-getting-started
polaris.metrics.tags.env: dev
# Custom logging (added to all log messages)
polaris.log.mdc.app: polaris-getting-started
polaris.log.mdc.env: dev
quarkus.log.console.format: "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] [%X{app},%X{env}] [%X{realmId},%X{requestId}] [%X{traceId},%X{spanId}] (%t) %s%e%n"
quarkus.log.file.format: "%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p [%c{3.}] [%X{app},%X{env}] [%X{realmId},%X{requestId}] [%X{traceId},%X{spanId}] (%t) %s%e%n"
polaris.realm-context.realms: POLARIS
healthcheck:
test: ["CMD", "curl", "http://localhost:8182/q/health"]
interval: 2s
timeout: 10s
retries: 10
polaris-setup:
image: alpine/curl
depends_on:
polaris:
condition: service_healthy
environment:
- CLIENT_ID=${CLIENT_ID}
- CLIENT_SECRET=${CLIENT_SECRET}
volumes:
- ${ASSETS_PATH}/polaris/:/polaris
entrypoint: '/bin/sh -c "chmod +x /polaris/create-catalog.sh && /polaris/create-catalog.sh"'
prometheus:
image: docker.io/prom/prometheus:v3.8.1
ports:
- "9093:9090"
depends_on:
polaris:
condition: service_healthy
volumes:
- ../assets/prometheus/:/etc/prometheus/
command:
- --config.file=/etc/prometheus/prometheus.yml
healthcheck:
test: "wget -O /dev/null -o /dev/null http://localhost:9090"
interval: 5s
timeout: 2s
retries: 15
# Jaeger (OpenTelemetry traces collector)
jaeger:
image: docker.io/jaegertracing/all-in-one:1.76.0
ports:
# Jaeger gRPC collector, used by Polaris
- "4317:4317"
# Jaeger UI
- "16686:16686"
environment:
- COLLECTOR_OTLP_ENABLED=true
healthcheck:
test: "echo -e 'GET / HTTP/1.1\\r\\nHost: localhost\\r\\nConnection: close\\r\\n\\r\\n' | nc localhost 16686 | grep -q '200 OK'"
interval: 5s
timeout: 2s
retries: 15