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") + } +}