-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
109 lines (99 loc) · 3.55 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
services:
# Conduktor Console, the enterprise UI.
# It depends on PostgreSQL. Here, we depend on Apache Kafka for our get-started.
# https://docs.conduktor.io/platform/get-started/configuration/introduction/
conduktor-console:
image: conduktor/conduktor-console:1.24.1
depends_on:
- postgresql
- kafkabroker
ports:
- "8080:8080"
volumes:
- conduktor_data:/var/conduktor
environment:
CDK_DATABASE_URL: "postgresql://conduktor:change_me@postgresql:5432/conduktor-console"
CDK_CLUSTERS_0_ID: "cdk-gateway"
CDK_CLUSTERS_0_NAME: "cdk-gateway"
CDK_CLUSTERS_0_BOOTSTRAPSERVERS: "conduktor-gateway:6969"
CDK_CLUSTERS_0_SCHEMAREGISTRY_URL: "http://kafkabroker:18081"
CDK_CLUSTERS_0_KAFKAFLAVOR_URL: "http://conduktor-gateway:8888"
CDK_CLUSTERS_0_KAFKAFLAVOR_USER: "admin"
CDK_CLUSTERS_0_KAFKAFLAVOR_PASSWORD: "conduktor"
CDK_CLUSTERS_0_KAFKAFLAVOR_VIRTUALCLUSTER: "passthrough"
CDK_CLUSTERS_0_KAFKAFLAVOR_TYPE: "Gateway"
CDK_CLUSTERS_0_COLOR: "#6A57C8"
CDK_CLUSTERS_0_ICON: "dog"
CDK_MONITORING_CORTEX-URL: http://conduktor-monitoring:9009/
CDK_MONITORING_ALERT-MANAGER-URL: http://conduktor-monitoring:9010/
CDK_MONITORING_CALLBACK-URL: http://conduktor-console:8080/monitoring/api/
CDK_MONITORING_NOTIFICATIONS-CALLBACK-URL: http://localhost:8080
networks:
- demo_bridge
# Conduktor stores its metadata in PostgreSQL.
# Consider using an external managed database for production usage.
# https://docs.conduktor.io/platform/get-started/configuration/database/
postgresql:
image: postgres:14
hostname: postgresql
volumes:
- pg_data:/var/lib/postgresql/data
environment:
PGDATA: "/var/lib/postgresql/data"
POSTGRES_DB: "conduktor-console"
POSTGRES_USER: "conduktor"
POSTGRES_PASSWORD: "change_me"
POSTGRES_HOST_AUTH_METHOD: "scram-sha-256"
networks:
- demo_bridge
# Conduktor Gateway, a Kafka proxy bringing many security and governance features.
# In this get started, Gateway uses Apache Kafka as its backend Kafka cluster.
# https://docs.conduktor.io/gateway/
conduktor-gateway:
image: conduktor/conduktor-gateway:3.1.1
hostname: conduktor-gateway
container_name: conduktor-gateway
environment:
KAFKA_BOOTSTRAP_SERVERS: kafkabroker:9092
GATEWAY_SECURITY_PROTOCOL: SASL_PLAINTEXT
ports:
- "8888:8888"
healthcheck:
test: curl localhost:8888/health
interval: 5s
retries: 25
depends_on:
kafkabroker:
condition: service_healthy
networks:
- demo_bridge
kafkabroker:
image: apache/kafka:latest
container_name: kafkabroker
hostname: kafkabroker
environment:
CLUSTER_ID: q_ArPuYrTNe3KmEBVQ8CAA
KAFKA_NODE_ID: 1
KAFKA_BROKER_ID: 1
KAFKA_CONTROLLER_QUORUM_VOTERS: "1@kafkabroker:9093"
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_PROCESS_ROLES: "broker,controller"
KAFKA_LISTENERS: CONTROLLER://0.0.0.0:9093,LISTENER://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: LISTENER://kafkabroker:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,LISTENER:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: LISTENER
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
healthcheck:
test: ["CMD-SHELL", "nc -z localhost 9092 || exit 1"]
interval: 30s
timeout: 10s
retries: 5
networks:
- demo_bridge
volumes:
pg_data: {}
conduktor_data: {}
networks:
demo_bridge:
name: demo_bridge
driver: bridge