From 21b4bfed2389db905374e4755ecebc87bdc91d2e Mon Sep 17 00:00:00 2001
From: "Becker, Christoph" <christoph.a.becker@accenture.com>
Date: Thu, 15 Jun 2023 14:50:52 +0200
Subject: [PATCH] Make mongodb auth mechanism configurable

---
 cmd/infohub/main.go       |  5 +++--
 internal/config/config.go | 11 ++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/cmd/infohub/main.go b/cmd/infohub/main.go
index baaba9a..657a116 100644
--- a/cmd/infohub/main.go
+++ b/cmd/infohub/main.go
@@ -63,8 +63,9 @@ func main() {
 	db, err := mongo.Connect(
 		context.Background(),
 		options.Client().ApplyURI(cfg.Mongo.Addr).SetAuth(options.Credential{
-			Username: cfg.Mongo.User,
-			Password: cfg.Mongo.Pass,
+			AuthMechanism: cfg.Mongo.AuthMechanism,
+			Username:      cfg.Mongo.User,
+			Password:      cfg.Mongo.Pass,
 		}),
 	)
 	if err != nil {
diff --git a/internal/config/config.go b/internal/config/config.go
index 28aa1fa..b0187ac 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -25,11 +25,12 @@ type httpConfig struct {
 }
 
 type mongoConfig struct {
-	Addr       string `envconfig:"MONGO_ADDR" required:"true"`
-	User       string `envconfig:"MONGO_USER" required:"true"`
-	Pass       string `envconfig:"MONGO_PASS" required:"true"`
-	DB         string `envconfig:"MONGO_DBNAME" default:"infohub"`
-	Collection string `envconfig:"MONGO_COLLECTION" default:"exports"`
+	Addr          string `envconfig:"MONGO_ADDR" required:"true"`
+	User          string `envconfig:"MONGO_USER" required:"true"`
+	Pass          string `envconfig:"MONGO_PASS" required:"true"`
+	DB            string `envconfig:"MONGO_DBNAME" default:"infohub"`
+	Collection    string `envconfig:"MONGO_COLLECTION" default:"exports"`
+	AuthMechanism string `envconfig:"MONGO_AUTH_MECHANISM" default:"SCRAM-SHA-1"`
 }
 
 type credentialConfig struct {
-- 
GitLab