blob: 0c1481c922bb53f551faa26d408c00c3ca96aa7c [file] [log] [blame]
kesavandc71914f2022-03-25 11:19:03 +05301version: '3.7'
2services:
3 zookeeper-1:
4 image: 'confluentinc/cp-zookeeper:7.0.1'
5 restart: always
6 environment:
7 ZOOKEEPER_SERVER_ID: '1'
8 ZOOKEEPER_SERVERS: 'zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888'
9 ZOOKEEPER_CLIENT_PORT: '2181'
10 ZOOKEEPER_PEER_PORT: '2888'
11 ZOOKEEPER_LEADER_PORT: '3888'
12 ZOOKEEPER_INIT_LIMIT: '10'
13 ZOOKEEPER_SYNC_LIMIT: '5'
14 ZOOKEEPER_MAX_CLIENT_CONNS: '0'
15 zookeeper-2:
16 image: 'confluentinc/cp-zookeeper:7.0.1'
17 restart: always
18 environment:
19 ZOOKEEPER_SERVER_ID: '2'
20 ZOOKEEPER_SERVERS: 'zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888'
21 ZOOKEEPER_CLIENT_PORT: '2181'
22 ZOOKEEPER_PEER_PORT: '2888'
23 ZOOKEEPER_LEADER_PORT: '3888'
24 ZOOKEEPER_INIT_LIMIT: '10'
25 ZOOKEEPER_SYNC_LIMIT: '5'
26 ZOOKEEPER_MAX_CLIENT_CONNS: '0'
27 zookeeper-3:
28 image: 'confluentinc/cp-zookeeper:7.0.1'
29 restart: always
30 environment:
31 ZOOKEEPER_SERVER_ID: '3'
32 ZOOKEEPER_SERVERS: 'zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888'
33 ZOOKEEPER_CLIENT_PORT: '2181'
34 ZOOKEEPER_PEER_PORT: '2888'
35 ZOOKEEPER_LEADER_PORT: '3888'
36 ZOOKEEPER_INIT_LIMIT: '10'
37 ZOOKEEPER_SYNC_LIMIT: '5'
38 ZOOKEEPER_MAX_CLIENT_CONNS: '0'
39 kafka-1:
40 image: 'bitnami/kafka:${KAFKA_VERSION:-3.1.0}'
41 restart: always
42 environment:
43 KAFKA_CFG_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
44 KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29091'
45 KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-1:9091,LISTENER_LOCAL://localhost:29091'
46 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
47 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
48 KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: '2'
49 KAFKA_CFG_BROKER_ID: '1'
50 KAFKA_CFG_BROKER_RACK: '1'
51 KAFKA_CFG_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
52 KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
53 KAFKA_CFG_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
54 KAFKA_CFG_DELETE_TOPIC_ENABLE: 'true'
55 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'false'
56 ALLOW_PLAINTEXT_LISTENER: 'true'
57 kafka-2:
58 image: 'bitnami/kafka:${KAFKA_VERSION:-3.1.0}'
59 restart: always
60 environment:
61 KAFKA_CFG_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
62 KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29092'
63 KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-2:9091,LISTENER_LOCAL://localhost:29092'
64 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
65 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
66 KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: '2'
67 KAFKA_CFG_BROKER_ID: '2'
68 KAFKA_CFG_BROKER_RACK: '2'
69 KAFKA_CFG_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
70 KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
71 KAFKA_CFG_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
72 KAFKA_CFG_DELETE_TOPIC_ENABLE: 'true'
73 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'false'
74 ALLOW_PLAINTEXT_LISTENER: 'true'
75 kafka-3:
76 image: 'bitnami/kafka:${KAFKA_VERSION:-3.1.0}'
77 restart: always
78 environment:
79 KAFKA_CFG_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
80 KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29093'
81 KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-3:9091,LISTENER_LOCAL://localhost:29093'
82 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
83 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
84 KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: '2'
85 KAFKA_CFG_BROKER_ID: '3'
86 KAFKA_CFG_BROKER_RACK: '3'
87 KAFKA_CFG_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
88 KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
89 KAFKA_CFG_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
90 KAFKA_CFG_DELETE_TOPIC_ENABLE: 'true'
91 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'false'
92 ALLOW_PLAINTEXT_LISTENER: 'true'
93 kafka-4:
94 image: 'bitnami/kafka:${KAFKA_VERSION:-3.1.0}'
95 restart: always
96 environment:
97 KAFKA_CFG_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
98 KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29094'
99 KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-4:9091,LISTENER_LOCAL://localhost:29094'
100 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
101 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
102 KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: '2'
103 KAFKA_CFG_BROKER_ID: '4'
104 KAFKA_CFG_BROKER_RACK: '4'
105 KAFKA_CFG_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
106 KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
107 KAFKA_CFG_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
108 KAFKA_CFG_DELETE_TOPIC_ENABLE: 'true'
109 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'false'
110 ALLOW_PLAINTEXT_LISTENER: 'true'
111 kafka-5:
112 image: 'bitnami/kafka:${KAFKA_VERSION:-3.1.0}'
113 restart: always
114 environment:
115 KAFKA_CFG_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
116 KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29095'
117 KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-5:9091,LISTENER_LOCAL://localhost:29095'
118 KAFKA_CFG_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
119 KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
120 KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: '2'
121 KAFKA_CFG_BROKER_ID: '5'
122 KAFKA_CFG_BROKER_RACK: '5'
123 KAFKA_CFG_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
124 KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
125 KAFKA_CFG_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
126 KAFKA_CFG_DELETE_TOPIC_ENABLE: 'true'
127 KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'false'
128 ALLOW_PLAINTEXT_LISTENER: 'true'
129 toxiproxy:
130 image: 'ghcr.io/shopify/toxiproxy:2.3.0'
131 ports:
132 # The tests themselves actually start the proxies on these ports
133 - '29091:29091'
134 - '29092:29092'
135 - '29093:29093'
136 - '29094:29094'
137 - '29095:29095'
138 # This is the toxiproxy API port
139 - '8474:8474'