mirror of https://github.com/tidwall/tile38.git
135 lines
6.2 KiB
YAML
135 lines
6.2 KiB
YAML
version: '3.7'
|
|
services:
|
|
zookeeper-1:
|
|
image: 'confluentinc/cp-zookeeper:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
ZOOKEEPER_SERVER_ID: '1'
|
|
ZOOKEEPER_SERVERS: 'zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888'
|
|
ZOOKEEPER_CLIENT_PORT: '2181'
|
|
ZOOKEEPER_PEER_PORT: '2888'
|
|
ZOOKEEPER_LEADER_PORT: '3888'
|
|
ZOOKEEPER_INIT_LIMIT: '10'
|
|
ZOOKEEPER_SYNC_LIMIT: '5'
|
|
ZOOKEEPER_MAX_CLIENT_CONNS: '0'
|
|
zookeeper-2:
|
|
image: 'confluentinc/cp-zookeeper:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
ZOOKEEPER_SERVER_ID: '2'
|
|
ZOOKEEPER_SERVERS: 'zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888'
|
|
ZOOKEEPER_CLIENT_PORT: '2181'
|
|
ZOOKEEPER_PEER_PORT: '2888'
|
|
ZOOKEEPER_LEADER_PORT: '3888'
|
|
ZOOKEEPER_INIT_LIMIT: '10'
|
|
ZOOKEEPER_SYNC_LIMIT: '5'
|
|
ZOOKEEPER_MAX_CLIENT_CONNS: '0'
|
|
zookeeper-3:
|
|
image: 'confluentinc/cp-zookeeper:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
ZOOKEEPER_SERVER_ID: '3'
|
|
ZOOKEEPER_SERVERS: 'zookeeper-1:2888:3888;zookeeper-2:2888:3888;zookeeper-3:2888:3888'
|
|
ZOOKEEPER_CLIENT_PORT: '2181'
|
|
ZOOKEEPER_PEER_PORT: '2888'
|
|
ZOOKEEPER_LEADER_PORT: '3888'
|
|
ZOOKEEPER_INIT_LIMIT: '10'
|
|
ZOOKEEPER_SYNC_LIMIT: '5'
|
|
ZOOKEEPER_MAX_CLIENT_CONNS: '0'
|
|
kafka-1:
|
|
image: 'confluentinc/cp-kafka:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
|
|
KAFKA_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29091'
|
|
KAFKA_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-1:9091,LISTENER_LOCAL://localhost:29091'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: '2'
|
|
KAFKA_BROKER_ID: '1'
|
|
KAFKA_BROKER_RACK: '1'
|
|
KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
|
|
KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
|
|
KAFKA_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
|
|
KAFKA_DELETE_TOPIC_ENABLE: 'true'
|
|
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
|
|
kafka-2:
|
|
image: 'confluentinc/cp-kafka:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
|
|
KAFKA_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29092'
|
|
KAFKA_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-2:9091,LISTENER_LOCAL://localhost:29092'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: '2'
|
|
KAFKA_BROKER_ID: '2'
|
|
KAFKA_BROKER_RACK: '2'
|
|
KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
|
|
KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
|
|
KAFKA_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
|
|
KAFKA_DELETE_TOPIC_ENABLE: 'true'
|
|
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
|
|
kafka-3:
|
|
image: 'confluentinc/cp-kafka:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
|
|
KAFKA_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29093'
|
|
KAFKA_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-3:9091,LISTENER_LOCAL://localhost:29093'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: '2'
|
|
KAFKA_BROKER_ID: '3'
|
|
KAFKA_BROKER_RACK: '3'
|
|
KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
|
|
KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
|
|
KAFKA_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
|
|
KAFKA_DELETE_TOPIC_ENABLE: 'true'
|
|
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
|
|
kafka-4:
|
|
image: 'confluentinc/cp-kafka:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
|
|
KAFKA_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29094'
|
|
KAFKA_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-4:9091,LISTENER_LOCAL://localhost:29094'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: '2'
|
|
KAFKA_BROKER_ID: '4'
|
|
KAFKA_BROKER_RACK: '4'
|
|
KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
|
|
KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
|
|
KAFKA_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
|
|
KAFKA_DELETE_TOPIC_ENABLE: 'true'
|
|
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
|
|
kafka-5:
|
|
image: 'confluentinc/cp-kafka:${CONFLUENT_PLATFORM_VERSION:-5.5.0}'
|
|
restart: always
|
|
environment:
|
|
KAFKA_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
|
|
KAFKA_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29095'
|
|
KAFKA_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-5:9091,LISTENER_LOCAL://localhost:29095'
|
|
KAFKA_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
|
|
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT'
|
|
KAFKA_DEFAULT_REPLICATION_FACTOR: '2'
|
|
KAFKA_BROKER_ID: '5'
|
|
KAFKA_BROKER_RACK: '5'
|
|
KAFKA_ZOOKEEPER_SESSION_TIMEOUT_MS: '3000'
|
|
KAFKA_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '3000'
|
|
KAFKA_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
|
|
KAFKA_DELETE_TOPIC_ENABLE: 'true'
|
|
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
|
|
toxiproxy:
|
|
image: 'shopify/toxiproxy:2.1.4'
|
|
ports:
|
|
# The tests themselves actually start the proies on these ports
|
|
- '29091:29091'
|
|
- '29092:29092'
|
|
- '29093:29093'
|
|
- '29094:29094'
|
|
- '29095:29095'
|
|
# This is the toxiproxy API port
|
|
- '8474:8474'
|