From 87c6f6a7d188f58ea048b91f0a534b089d1b426d Mon Sep 17 00:00:00 2001
From: "Becker, Christoph" <christoph.a.becker@accenture.com>
Date: Thu, 15 Jun 2023 10:55:10 +0200
Subject: [PATCH] feat: make mongodb auth mechanism configurable

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

diff --git a/cmd/policy/main.go b/cmd/policy/main.go
index 81351b61..dd6da11c 100644
--- a/cmd/policy/main.go
+++ b/cmd/policy/main.go
@@ -81,8 +81,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 101354c8..2af659e5 100644
--- a/internal/config/config.go
+++ b/internal/config/config.go
@@ -44,11 +44,12 @@ type didResolverConfig 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:"policy"`
-	Collection string `envconfig:"MONGO_COLLECTION" default:"policies"`
+	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:"policy"`
+	Collection    string `envconfig:"MONGO_COLLECTION" default:"policies"`
+	AuthMechanism string `envconfig:"MONGO_AUTH_MECHANISM" default:"SCRAM-SHA-1"`
 }
 
 type metricsConfig struct {
-- 
GitLab