From bb0db050ab004247f4da6e28acb3d714ba54e4b9 Mon Sep 17 00:00:00 2001 From: rjshrjndrn Date: Sun, 9 Apr 2023 14:54:10 +0000 Subject: [PATCH] chore(db): Adding clickhouse password support --- ee/backend/pkg/db/clickhouse/connector.go | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/ee/backend/pkg/db/clickhouse/connector.go b/ee/backend/pkg/db/clickhouse/connector.go index b872adcc2..9e2ab10b4 100644 --- a/ee/backend/pkg/db/clickhouse/connector.go +++ b/ee/backend/pkg/db/clickhouse/connector.go @@ -3,6 +3,7 @@ package clickhouse import ( "errors" "fmt" + "os" "github.com/ClickHouse/clickhouse-go/v2" "github.com/ClickHouse/clickhouse-go/v2/lib/driver" "log" @@ -42,6 +43,14 @@ func NewTask() *task { return &task{bulks: make([]Bulk, 0, 14)} } +// Check env variables. If not present, return default value. +func getEnv(key, fallback string) string { + if value, ok := os.LookupEnv(key); ok { + return value + } + return fallback +} + type connectorImpl struct { conn driver.Conn batches map[string]Bulk //driver.Batch @@ -52,12 +61,18 @@ type connectorImpl struct { func NewConnector(url string) Connector { license.CheckLicense() + // Check username, password, database + userName := getEnv("CH_USERNAME", "default") + password := getEnv("CH_PASSWORD", "") + database := getEnv("CH_DATABASE", "default") url = strings.TrimPrefix(url, "tcp://") - url = strings.TrimSuffix(url, "/default") + url = strings.TrimSuffix(url, "/"+database) conn, err := clickhouse.Open(&clickhouse.Options{ Addr: []string{url}, Auth: clickhouse.Auth{ - Database: "default", + Database: database, + Username: userName, + Password: password, }, MaxOpenConns: 20, MaxIdleConns: 15,