| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to You under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| --- |
| version: '2' |
| services: |
| controller-1: |
| image: ${IMAGE} |
| environment: |
| KAFKA_NODE_ID: 1 |
| KAFKA_PROCESS_ROLES: 'controller' |
| KAFKA_CONTROLLER_QUORUM_VOTERS: '1@controller-1:29092,2@controller-2:29092,3@controller-3:29092' |
| KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' |
| KAFKA_LISTENERS: 'CONTROLLER://:29092' |
| CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw' |
| 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_LOG_DIRS: '/tmp/kraft-combined-logs' |
| |
| controller-2: |
| image: ${IMAGE} |
| environment: |
| KAFKA_NODE_ID: 2 |
| KAFKA_PROCESS_ROLES: 'controller' |
| KAFKA_CONTROLLER_QUORUM_VOTERS: '1@controller-1:29092,2@controller-2:29092,3@controller-3:29092' |
| KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' |
| KAFKA_LISTENERS: 'CONTROLLER://:29092' |
| CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw' |
| 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_LOG_DIRS: '/tmp/kraft-combined-logs' |
| |
| controller-3: |
| image: ${IMAGE} |
| environment: |
| KAFKA_NODE_ID: 3 |
| KAFKA_PROCESS_ROLES: 'controller' |
| KAFKA_CONTROLLER_QUORUM_VOTERS: '1@controller-1:29092,2@controller-2:29092,3@controller-3:29092' |
| KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' |
| KAFKA_LISTENERS: 'CONTROLLER://:29092' |
| CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw' |
| 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_LOG_DIRS: '/tmp/kraft-combined-logs' |
| |
| kafka-1: |
| image: ${IMAGE} |
| hostname: kafka-1 |
| container_name: kafka-1 |
| ports: |
| - 29093:9093 |
| volumes: |
| - ../../../../fixtures/secrets:/etc/kafka/secrets |
| environment: |
| KAFKA_NODE_ID: 4 |
| KAFKA_PROCESS_ROLES: 'broker' |
| KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'SSL:SSL,CONTROLLER:PLAINTEXT,SSL-INTERNAL:SSL' |
| KAFKA_LISTENERS: 'SSL-INTERNAL://:19093,SSL://:9093' |
| KAFKA_CONTROLLER_QUORUM_VOTERS: '1@controller-1:29092,2@controller-2:29092,3@controller-3:29092' |
| KAFKA_INTER_BROKER_LISTENER_NAME: 'SSL-INTERNAL' |
| KAFKA_SECURITY_PROTOCOL: SSL |
| KAFKA_ADVERTISED_LISTENERS: SSL-INTERNAL://kafka-1:19093,SSL://localhost:29093 |
| KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' |
| CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw' |
| 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_LOG_DIRS: '/tmp/kraft-combined-logs' |
| KAFKA_SSL_KEYSTORE_FILENAME: 'kafka01.keystore.jks' |
| KAFKA_SSL_KEYSTORE_CREDENTIALS: 'kafka_keystore_creds' |
| KAFKA_SSL_KEY_CREDENTIALS: 'kafka_ssl_key_creds' |
| KAFKA_SSL_TRUSTSTORE_FILENAME: 'kafka.truststore.jks' |
| KAFKA_SSL_TRUSTSTORE_CREDENTIALS: 'kafka_truststore_creds' |
| KAFKA_SSL_CLIENT_AUTH: 'required' |
| KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: "" |
| depends_on: |
| - controller-1 |
| - controller-2 |
| - controller-3 |
| |
| kafka-2: |
| image: ${IMAGE} |
| hostname: kafka-2 |
| container_name: kafka-2 |
| ports: |
| - 39093:9093 |
| volumes: |
| - ../../../../fixtures/secrets:/etc/kafka/secrets |
| environment: |
| KAFKA_NODE_ID: 5 |
| KAFKA_PROCESS_ROLES: 'broker' |
| KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'SSL:SSL,CONTROLLER:PLAINTEXT,SSL-INTERNAL:SSL' |
| KAFKA_CONTROLLER_QUORUM_VOTERS: '1@controller-1:29092,2@controller-2:29092,3@controller-3:29092' |
| KAFKA_LISTENERS: 'SSL-INTERNAL://:19093,SSL://:9093' |
| KAFKA_INTER_BROKER_LISTENER_NAME: 'SSL-INTERNAL' |
| KAFKA_SECURITY_PROTOCOL: SSL |
| KAFKA_ADVERTISED_LISTENERS: SSL-INTERNAL://kafka-2:19093,SSL://localhost:39093 |
| KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' |
| CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw' |
| 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_LOG_DIRS: '/tmp/kraft-combined-logs' |
| KAFKA_SSL_KEYSTORE_FILENAME: 'kafka01.keystore.jks' |
| KAFKA_SSL_KEYSTORE_CREDENTIALS: 'kafka_keystore_creds' |
| KAFKA_SSL_KEY_CREDENTIALS: 'kafka_ssl_key_creds' |
| KAFKA_SSL_TRUSTSTORE_FILENAME: 'kafka.truststore.jks' |
| KAFKA_SSL_TRUSTSTORE_CREDENTIALS: 'kafka_truststore_creds' |
| KAFKA_SSL_CLIENT_AUTH: 'required' |
| KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: "" |
| depends_on: |
| - controller-1 |
| - controller-2 |
| - controller-3 |
| |
| kafka-3: |
| image: ${IMAGE} |
| hostname: kafka-3 |
| container_name: kafka-3 |
| ports: |
| - 49093:9093 |
| volumes: |
| - ../../../../fixtures/secrets:/etc/kafka/secrets |
| environment: |
| KAFKA_NODE_ID: 6 |
| KAFKA_PROCESS_ROLES: 'broker' |
| KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'SSL:SSL,CONTROLLER:PLAINTEXT,SSL-INTERNAL:SSL' |
| KAFKA_CONTROLLER_QUORUM_VOTERS: '1@controller-1:29092,2@controller-2:29092,3@controller-3:29092' |
| KAFKA_LISTENERS: 'SSL-INTERNAL://:19093,SSL://:9093' |
| KAFKA_INTER_BROKER_LISTENER_NAME: 'SSL-INTERNAL' |
| KAFKA_SECURITY_PROTOCOL: SSL |
| KAFKA_ADVERTISED_LISTENERS: SSL-INTERNAL://kafka-3:19093,SSL://localhost:49093 |
| KAFKA_CONTROLLER_LISTENER_NAMES: 'CONTROLLER' |
| CLUSTER_ID: '4L6g3nShT-eMCtK--X86sw' |
| 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_LOG_DIRS: '/tmp/kraft-combined-logs' |
| KAFKA_SSL_KEYSTORE_FILENAME: 'kafka01.keystore.jks' |
| KAFKA_SSL_KEYSTORE_CREDENTIALS: 'kafka_keystore_creds' |
| KAFKA_SSL_KEY_CREDENTIALS: 'kafka_ssl_key_creds' |
| KAFKA_SSL_TRUSTSTORE_FILENAME: 'kafka.truststore.jks' |
| KAFKA_SSL_TRUSTSTORE_CREDENTIALS: 'kafka_truststore_creds' |
| KAFKA_SSL_CLIENT_AUTH: 'required' |
| KAFKA_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM: "" |
| depends_on: |
| - controller-1 |
| - controller-2 |
| - controller-3 |