From 3b186298a07ca6d6692d2324ec2f2d4f006145c7 Mon Sep 17 00:00:00 2001 From: Your Name Date: Thu, 15 Oct 2026 12:26:09 +0800 Subject: [PATCH] fix: configure Kafka brokers at runtime --- docker/tinode/config.template | 2 +- server/docker_config_template_test.go | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 server/docker_config_template_test.go diff --git a/docker/tinode/config.template b/docker/tinode/config.template index 7811d6a..ec07895 100644 --- a/docker/tinode/config.template +++ b/docker/tinode/config.template @@ -128,7 +128,7 @@ "kafka": { "enabled": true, - "brokers": ["kafka.118im.com:30835"], + "brokers": $KAFKA_BROKERS_JSON, "client_id": "im-server", "consumer_group": "im-server", "dial_timeout_ms": 3000, diff --git a/server/docker_config_template_test.go b/server/docker_config_template_test.go new file mode 100644 index 0000000..934b985 --- /dev/null +++ b/server/docker_config_template_test.go @@ -0,0 +1,22 @@ +package main + +import ( + "os" + "strings" + "testing" +) + +func TestDockerConfigUsesKafkaBrokersFromEnvironment(t *testing.T) { + content, err := os.ReadFile("../docker/tinode/config.template") + if err != nil { + t.Fatalf("read Docker config template: %v", err) + } + + template := string(content) + if !strings.Contains(template, `"brokers": $KAFKA_BROKERS_JSON`) { + t.Fatal("Docker config template must render Kafka brokers from KAFKA_BROKERS_JSON") + } + if strings.Contains(template, "kafka.118im.com:30835") { + t.Fatal("Docker config template must not hard-code the public Kafka NodePort") + } +}