rdkafka 0.38.0

Rust wrapper for librdkafka
Documentation
services:
  kafka:
    image: bitnami/kafka:${KAFKA_VERSION:-4.0}
    environment:
      # Enable KRaft mode (combined broker and controller)
      - KAFKA_CFG_NODE_ID=0
      - KAFKA_CFG_BROKER_ID=0 # In KRaft, this should be the same as the node ID
      - KAFKA_CFG_PROCESS_ROLES=broker,controller
      - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT
      - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@localhost:9093
      
      # Bitnami defaults
      - KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1
      - KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1
      - KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=1
      - KAFKA_CFG_NUM_PARTITIONS=3

      # This is a Bitnami-specific variable to disable ZooKeeper
      - KAFKA_KRAFT_ENABLED=true
    ports: ["9092:9092"]