mirror of
https://github.com/hanzoai/traces.git
synced 2026-10-30 18:20:41 +00:00
* Update Prometheus to v0.307.2 * Update otel collector * Update OTel collector
176 lines
6.0 KiB
YAML
176 lines
6.0 KiB
YAML
x-zookeeper-base: &zookeeper-base
|
|
image: 'docker.io/library/zookeeper:3.7.2'
|
|
init: true
|
|
restart: always
|
|
profiles:
|
|
- zookeeper
|
|
environment: &zookeeper-base-env
|
|
ZOO_SERVERS: 'server.1=zookeeper-1:2888:3888 server.2=zookeeper-2:2888:3888 server.3=zookeeper-3:2888:3888'
|
|
ZOO_CFG_EXTRA: 'clientPort=2181 peerPort=2888 leaderPort=3888'
|
|
ZOO_INIT_LIMIT: '10'
|
|
ZOO_SYNC_LIMIT: '5'
|
|
ZOO_MAX_CLIENT_CNXNS: '0'
|
|
ZOO_4LW_COMMANDS_WHITELIST: 'mntr,conf,ruok'
|
|
|
|
x-kafka-base: &kafka-base
|
|
image: 'sarama/fv-kafka-${KAFKA_VERSION:-3.9.1}'
|
|
init: true
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.kafka
|
|
args:
|
|
KAFKA_VERSION: ${KAFKA_VERSION:-3.9.1}
|
|
SCALA_VERSION: ${SCALA_VERSION:-2.13}
|
|
depends_on:
|
|
- toxiproxy
|
|
restart: always
|
|
environment: &kafka-base-env
|
|
KAFKA_VERSION: ${KAFKA_VERSION:-3.9.1}
|
|
KAFKA_CFG_DEFAULT_REPLICATION_FACTOR: '2'
|
|
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: '2'
|
|
KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: '2'
|
|
KAFKA_CFG_ZOOKEEPER_SESSION_TIMEOUT_MS: '6000'
|
|
KAFKA_CFG_ZOOKEEPER_CONNECTION_TIMEOUT_MS: '6000'
|
|
KAFKA_CFG_REPLICA_SELECTOR_CLASS: 'org.apache.kafka.common.replica.RackAwareReplicaSelector'
|
|
KAFKA_CFG_DELETE_TOPIC_ENABLE: 'true'
|
|
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: 'false'
|
|
KAFKA_CFG_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
|
|
KAFKA_JVM_PERFORMANCE_OPTS: "-XX:+IgnoreUnrecognizedVMOptions"
|
|
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: 'LISTENER_INTERNAL'
|
|
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: 'LISTENER_INTERNAL:PLAINTEXT,LISTENER_LOCAL:PLAINTEXT,CONTROLLER:PLAINTEXT'
|
|
# ZooKeeper-specific
|
|
KAFKA_CFG_ZOOKEEPER_CONNECT: 'zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181'
|
|
# KRaft-specific
|
|
KAFKA_CFG_PROCESS_ROLES: 'broker,controller'
|
|
KAFKA_CFG_CONTROLLER_QUORUM_VOTERS: '1@kafka-1:9093,2@kafka-2:9093,3@kafka-3:9093,4@kafka-4:9093,5@kafka-5:9093'
|
|
KAFKA_CFG_CONTROLLER_LISTENER_NAMES: 'CONTROLLER'
|
|
KAFKA_CFG_CLUSTER_ID: 'cDZEekk4T3hTNGVlNzB3LUtUbkxaQQo='
|
|
|
|
services:
|
|
zookeeper-1:
|
|
<<: *zookeeper-base
|
|
container_name: 'zookeeper-1'
|
|
environment:
|
|
<<: *zookeeper-base-env
|
|
ZOO_MY_ID: '1'
|
|
|
|
zookeeper-2:
|
|
<<: *zookeeper-base
|
|
container_name: 'zookeeper-2'
|
|
environment:
|
|
<<: *zookeeper-base-env
|
|
ZOO_MY_ID: '2'
|
|
|
|
zookeeper-3:
|
|
<<: *zookeeper-base
|
|
container_name: 'zookeeper-3'
|
|
environment:
|
|
<<: *zookeeper-base-env
|
|
ZOO_MY_ID: '3'
|
|
|
|
kafka-1:
|
|
<<: *kafka-base
|
|
container_name: 'kafka-1'
|
|
healthcheck:
|
|
test: ['CMD', '/opt/kafka-${KAFKA_VERSION:-3.9.1}/bin/kafka-broker-api-versions.sh', '--bootstrap-server', 'kafka-1:9091']
|
|
interval: 15s
|
|
timeout: 15s
|
|
retries: 10
|
|
start_period: 360s
|
|
environment:
|
|
<<: *kafka-base-env
|
|
KAFKA_CFG_BROKER_ID: '1'
|
|
KAFKA_CFG_NODE_ID: '1'
|
|
KAFKA_CFG_BROKER_RACK: '1'
|
|
KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29091,CONTROLLER://:9093'
|
|
KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-1:9091,LISTENER_LOCAL://localhost:29091'
|
|
|
|
kafka-2:
|
|
<<: *kafka-base
|
|
container_name: 'kafka-2'
|
|
healthcheck:
|
|
test: ['CMD', '/opt/kafka-${KAFKA_VERSION:-3.9.1}/bin/kafka-broker-api-versions.sh', '--bootstrap-server', 'kafka-2:9091']
|
|
interval: 15s
|
|
timeout: 15s
|
|
retries: 10
|
|
start_period: 360s
|
|
environment:
|
|
<<: *kafka-base-env
|
|
KAFKA_CFG_BROKER_ID: '2'
|
|
KAFKA_CFG_NODE_ID: '2'
|
|
KAFKA_CFG_BROKER_RACK: '2'
|
|
KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29092,CONTROLLER://:9093'
|
|
KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-2:9091,LISTENER_LOCAL://localhost:29092'
|
|
|
|
kafka-3:
|
|
<<: *kafka-base
|
|
container_name: 'kafka-3'
|
|
healthcheck:
|
|
test: ['CMD', '/opt/kafka-${KAFKA_VERSION:-3.9.1}/bin/kafka-broker-api-versions.sh', '--bootstrap-server', 'kafka-3:9091']
|
|
interval: 15s
|
|
timeout: 15s
|
|
retries: 10
|
|
start_period: 360s
|
|
environment:
|
|
<<: *kafka-base-env
|
|
KAFKA_CFG_BROKER_ID: '3'
|
|
KAFKA_CFG_NODE_ID: '3'
|
|
KAFKA_CFG_BROKER_RACK: '3'
|
|
KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29093,CONTROLLER://:9093'
|
|
KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-3:9091,LISTENER_LOCAL://localhost:29093'
|
|
|
|
kafka-4:
|
|
<<: *kafka-base
|
|
container_name: 'kafka-4'
|
|
healthcheck:
|
|
test: ['CMD', '/opt/kafka-${KAFKA_VERSION:-3.9.1}/bin/kafka-broker-api-versions.sh', '--bootstrap-server', 'kafka-4:9091']
|
|
interval: 15s
|
|
timeout: 15s
|
|
retries: 10
|
|
start_period: 360s
|
|
environment:
|
|
<<: *kafka-base-env
|
|
KAFKA_CFG_BROKER_ID: '4'
|
|
KAFKA_CFG_NODE_ID: '4'
|
|
KAFKA_CFG_BROKER_RACK: '4'
|
|
KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29094,CONTROLLER://:9093'
|
|
KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-4:9091,LISTENER_LOCAL://localhost:29094'
|
|
|
|
kafka-5:
|
|
<<: *kafka-base
|
|
container_name: 'kafka-5'
|
|
healthcheck:
|
|
test: ['CMD', '/opt/kafka-${KAFKA_VERSION:-3.9.1}/bin/kafka-broker-api-versions.sh', '--bootstrap-server', 'kafka-5:9091']
|
|
interval: 15s
|
|
timeout: 15s
|
|
retries: 10
|
|
start_period: 360s
|
|
environment:
|
|
<<: *kafka-base-env
|
|
KAFKA_CFG_BROKER_ID: '5'
|
|
KAFKA_CFG_NODE_ID: '5'
|
|
KAFKA_CFG_BROKER_RACK: '5'
|
|
KAFKA_CFG_LISTENERS: 'LISTENER_INTERNAL://:9091,LISTENER_LOCAL://:29095,CONTROLLER://:9093'
|
|
KAFKA_CFG_ADVERTISED_LISTENERS: 'LISTENER_INTERNAL://kafka-5:9091,LISTENER_LOCAL://localhost:29095'
|
|
|
|
toxiproxy:
|
|
container_name: 'toxiproxy'
|
|
image: 'ghcr.io/shopify/toxiproxy:2.12.0'
|
|
init: true
|
|
healthcheck:
|
|
test: ['CMD', '/toxiproxy-cli', 'l']
|
|
interval: 15s
|
|
timeout: 15s
|
|
retries: 3
|
|
start_period: 30s
|
|
ports:
|
|
# The tests themselves actually start the proxies on these ports
|
|
- '29091:29091'
|
|
- '29092:29092'
|
|
- '29093:29093'
|
|
- '29094:29094'
|
|
- '29095:29095'
|
|
|
|
# This is the toxiproxy API port
|
|
- '8474:8474'
|