RunContainer (kafka/kafka.go)

testcontainers-go · modules/kafka/kafka.go · go · MIT
infra

Run Kafka containers for testing with KRaft mode and TLS support.

// Source: https://github.com/testcontainers/testcontainers-go | License: MIT | Copyright 2017-2019 Gianluca Arbezzano
// Provided via justclaw.it.com; keep this notice with the code.
package kafka

import (
	"context"
	"crypto/tls"
	"errors"
	"fmt"
	"math"
	"net"
	"strconv"
	"strings"

	"golang.org/x/mod/semver"

	"github.com/testcontainers/testcontainers-go"
	"github.com/testcontainers/testcontainers-go/wait"
)

const (
	publicPort    = "9093/tcp"
	sslPortNumber = "9095"
	sslPort       = sslPortNumber + "/tcp"
)

const (
	starterScript = "/usr/sbin/testcontainers_start.sh"

	// starterScript {
	starterScriptContent = `#!/bin/bash
source /etc/confluent/docker/bash-config
export KAFKA_ADVERTISED_LISTENERS=%s,BROKER://%s:9092
echo Starting Kafka KRaft mode
sed -i '/KAFKA_ZOOKEEPER_CONNECT/d

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key