From 1cc6bdd3c578ac7c8c2e1e56274603b9f8e8fe49 Mon Sep 17 00:00:00 2001 From: Martin Schmollinger <martin.schmollinger@reutlingen-university.de> Date: Sun, 2 Jun 2024 14:06:45 +0200 Subject: [PATCH] Simplified version: only kafka run as a container - less code to ensure topic --- docker-compose.yml | 16 +++++++++------- go.work | 2 +- src/hello-kafka/Dockerfile | 13 ------------- src/hello-kafka/docker-entrypoint.sh | 11 ----------- src/hello-kafka/main.go | 2 +- src/hello-kafka/topic.go | 16 ++-------------- 6 files changed, 13 insertions(+), 47 deletions(-) delete mode 100644 src/hello-kafka/Dockerfile delete mode 100644 src/hello-kafka/docker-entrypoint.sh diff --git a/docker-compose.yml b/docker-compose.yml index ef7f183..341cde8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,14 +1,16 @@ version: "3" services: - hello-kafka: - build: - context: ./src - dockerfile: hello-kafka/Dockerfile - environment: - - KAFKA_CONNECT=kafka:9092 # Be careful, this is not the port 29092 +# hello-kafka: +# build: +# context: ./src +# dockerfile: hello-kafka/Dockerfile +# environment: +# - KAFKA_CONNECT=kafka:9092 # Be careful, this is not the port 29092 kafka: image: bitnami/kafka:3.3.2 container_name: kafka + ports: + - 9092:9092 environment: - KAFKA_ENABLE_KRAFT=yes - KAFKA_CFG_NODE_ID=1 @@ -16,7 +18,7 @@ services: - KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT - - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 + - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 - KAFKA_CFG_BROKER_ID=1 - KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@kafka:9093 - ALLOW_PLAINTEXT_LISTENER=yes diff --git a/go.work b/go.work index 12b31f8..d6376d5 100644 --- a/go.work +++ b/go.work @@ -1,3 +1,3 @@ go 1.20 -use ./src/hello-kata +use ./src/hello-kafka diff --git a/src/hello-kafka/Dockerfile b/src/hello-kafka/Dockerfile deleted file mode 100644 index 7fe82ad..0000000 --- a/src/hello-kafka/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM golang:1.20-buster - -WORKDIR /go/src/app -COPY ./hello-kafka . - -RUN go mod download -RUN go install - -RUN wget https://raw.githubusercontent.com/vishnubob/wait-for-it/81b1373f17855a4dc21156cfe1694c31d7d1792e/wait-for-it.sh -RUN chmod +x ./wait-for-it.sh ./docker-entrypoint.sh - -ENTRYPOINT ["./docker-entrypoint.sh"] -CMD ["hello-kata"] \ No newline at end of file diff --git a/src/hello-kafka/docker-entrypoint.sh b/src/hello-kafka/docker-entrypoint.sh deleted file mode 100644 index c9621cd..0000000 --- a/src/hello-kafka/docker-entrypoint.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -set -e - -# Wait for DB -if [ -n "$KAFKA_CONNECT" ]; then - /go/src/app/wait-for-it.sh "$KAFKA_CONNECT" -t 20 -fi - -# Run the main container command. -exec "$@" \ No newline at end of file diff --git a/src/hello-kafka/main.go b/src/hello-kafka/main.go index df7dda8..fdaa9c9 100644 --- a/src/hello-kafka/main.go +++ b/src/hello-kafka/main.go @@ -8,7 +8,7 @@ import ( ) const ( - KafkaHost = "kafka:9092" + KafkaHost = "localhost:9092" Topic = "hello-kafka" ) diff --git a/src/hello-kafka/topic.go b/src/hello-kafka/topic.go index 5623467..d4e9525 100644 --- a/src/hello-kafka/topic.go +++ b/src/hello-kafka/topic.go @@ -2,26 +2,14 @@ package main import ( "log" - "net" - "strconv" "github.com/segmentio/kafka-go" ) func ensureTopic(topic string, numPartitions int) { - conn, err := kafka.Dial("tcp", KafkaHost) - if err != nil { - panic(err.Error()) - } - defer conn.Close() - - controller, err := conn.Controller() - if err != nil { - panic(err.Error()) - } var controllerConn *kafka.Conn - controllerConn, err = - kafka.Dial("tcp", net.JoinHostPort(controller.Host, strconv.Itoa(controller.Port))) + controllerConn, err := + kafka.Dial("tcp", KafkaHost) if err != nil { panic(err.Error()) } -- GitLab