kafka/docker/examples/docker-compose-files/cluster/combined/ssl/docker-compose.yml

120 lines
5.4 KiB
YAML

# 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:
kafka-1:
image: ${IMAGE}
hostname: kafka-1
container_name: kafka-1
ports:
- 29093:9093
volumes:
- ../../../../fixtures/secrets:/etc/kafka/secrets
environment:
KAFKA_NODE_ID: 1
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'SSL:SSL,CONTROLLER:PLAINTEXT,SSL-INTERNAL:SSL'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka-1:29092,2@kafka-2:29092,3@kafka-3:29092'
KAFKA_LISTENERS: 'SSL-INTERNAL://:19093,CONTROLLER://kafka-1:29092,SSL://:9093'
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_SHARE_COORDINATOR_STATE_TOPIC_REPLICATION_FACTOR: 1
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_MIN_ISR: 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: ""
kafka-2:
image: ${IMAGE}
hostname: kafka-2
container_name: kafka-2
ports:
- 39093:9093
volumes:
- ../../../../fixtures/secrets:/etc/kafka/secrets
environment:
KAFKA_NODE_ID: 2
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'SSL:SSL,CONTROLLER:PLAINTEXT,SSL-INTERNAL:SSL'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka-1:29092,2@kafka-2:29092,3@kafka-3:29092'
KAFKA_LISTENERS: 'SSL-INTERNAL://:19093,CONTROLLER://kafka-2:29092,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_SHARE_COORDINATOR_STATE_TOPIC_REPLICATION_FACTOR: 1
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_MIN_ISR: 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: ""
kafka-3:
image: ${IMAGE}
hostname: kafka-3
container_name: kafka-3
ports:
- 49093:9093
volumes:
- ../../../../fixtures/secrets:/etc/kafka/secrets
environment:
KAFKA_NODE_ID: 3
KAFKA_PROCESS_ROLES: 'broker,controller'
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: 'SSL:SSL,CONTROLLER:PLAINTEXT,SSL-INTERNAL:SSL'
KAFKA_CONTROLLER_QUORUM_VOTERS: '1@kafka-1:29092,2@kafka-2:29092,3@kafka-3:29092'
KAFKA_LISTENERS: 'SSL-INTERNAL://:19093,CONTROLLER://kafka-3:29092,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_SHARE_COORDINATOR_STATE_TOPIC_REPLICATION_FACTOR: 1
KAFKA_SHARE_COORDINATOR_STATE_TOPIC_MIN_ISR: 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: ""