services:
kafka:
image: apache/kafka:${KAFKA_VER}
environment:
CLUSTER_ID: ${KAFKA_CLUSTER_ID:-4L6g3nShT-eMCtK--X86sw}
KAFKA_NODE_ID: 1
KAFKA_PROCESS_ROLES: broker,controller
KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,SSL_HOST:SSL,SASL:SASL_PLAINTEXT
KAFKA_LISTENERS: PLAINTEXT://:19092,PLAINTEXT_HOST://:9092,SSL_HOST://:9094,SASL://:9096,CONTROLLER://:9093
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:19092,PLAINTEXT_HOST://localhost:9092,SSL_HOST://localhost:9094,SASL://localhost:9096
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_CONTROLLER_QUORUM_VOTERS: 1@kafka:9093
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
KAFKA_SASL_ENABLED_MECHANISMS: PLAIN
KAFKA_LISTENER_NAME_SASL_SASL_ENABLED_MECHANISMS: PLAIN
KAFKA_LISTENER_NAME_SASL_PLAIN_SASL_JAAS_CONFIG: org.apache.kafka.common.security.plain.PlainLoginModule required username="kafkang" password="kafkang-secret" user_kafkang="kafkang-secret";
KAFKA_LISTENER_NAME_SASL_PLAIN_SASL_SERVER_CALLBACK_HANDLER_CLASS: org.apache.kafka.common.security.plain.internals.PlainServerCallbackHandler
KAFKA_SSL_KEYSTORE_TYPE: PKCS12
KAFKA_SSL_KEYSTORE_LOCATION: /etc/kafka/tls/server.keystore.p12
KAFKA_SSL_KEYSTORE_PASSWORD: ${KAFKA_SSL_STORE_PASSWORD:-kafka-rust-test}
KAFKA_SSL_KEY_PASSWORD: ${KAFKA_SSL_STORE_PASSWORD:-kafka-rust-test}
KAFKA_SSL_TRUSTSTORE_TYPE: PKCS12
KAFKA_SSL_TRUSTSTORE_LOCATION: /etc/kafka/tls/server.truststore.p12
KAFKA_SSL_TRUSTSTORE_PASSWORD: ${KAFKA_SSL_STORE_PASSWORD:-kafka-rust-test}
KAFKA_SSL_CLIENT_AUTH: ${KAFKA_SSL_CLIENT_AUTH:-none}
ports:
- "9092:9092"
- "9094:9094"
- "9096:9096"
volumes:
- kafka-data:/var/lib/kafka/data
- ./fixtures/tls/generated:/etc/kafka/tls:ro
volumes:
kafka-data: {}