-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
62 lines (60 loc) · 2.73 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
---
services:
broker:
image: confluentinc/cp-kafka:7.7.1
hostname: broker
container_name: broker
ports:
- "9092:9092"
- "9101:9101"
environment:
KAFKA_NODE_ID: 1
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT'
KAFKA_ADVERTISED_LISTENERS: 'PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092'
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_JMX_PORT: 9101
KAFKA_JMX_HOSTNAME: localhost
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@broker:29093'
KAFKA_LISTENERS: 'PLAINTEXT://broker:29092,CONTROLLER://broker:29093,PLAINTEXT_HOST://0.0.0.0:9092'
KAFKA_INTER_BROKER_LISTENER_NAME: 'PLAINTEXT'
KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
KAFKA_LOG_DIRS: '/tmp/kraft-combined-logs'
KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS: 30000
# Replace CLUSTER_ID with a unique base64 UUID using "bin/kafka-storage.sh random-uuid"
# See https://docs.confluent.io/kafka/operations-tools/kafka-tools.html#kafka-storage-sh
CLUSTER_ID: 'MkU3OEVBNTcwNTJENDM2Qk'
healthcheck:
test: [ "CMD", "/bin/kafka-topics", "--bootstrap-server=localhost:9092", "--list" ]
interval: 2s
timeout: 2s
retries: 10
schema-registry:
image: confluentinc/cp-schema-registry:7.7.1
hostname: schema-registry
container_name: schema-registry
depends_on:
- broker
ports:
- "8081:8081"
environment:
SCHEMA_REGISTRY_HOST_NAME: schema-registry
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: 'broker:29092'
SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8081
kafka-create-topics:
container_name: kafka-create-topics
image: confluentinc/cp-kafka:7.7.1
depends_on:
broker:
condition: service_healthy
entrypoint: ''
command: /bin/bash -c "echo 'creating topics...'
&& /bin/kafka-topics --bootstrap-server=broker:29092 --create --partitions=6 --replication-factor=1 --topic=baggage_tracking
&& /bin/kafka-topics --bootstrap-server=broker:29092 --create --partitions=6 --replication-factor=1 --topic=flight --config cleanup.policy=compact
&& /bin/kafka-topics --bootstrap-server=broker:29092 --create --partitions=12 --replication-factor=1 --topic=user_flight_booking_v3
&& /bin/kafka-topics --bootstrap-server=broker:29092 --create --partitions=6 --replication-factor=1 --topic=airport_info_i18n_v5
&& /bin/kafka-topics --bootstrap-server=broker:29092 --create --partitions=12 --replication-factor=1 --topic=flight_status_update_v1
"