From 89e9a6f34e7b9e7df09a221e527402ea3f8ad438 Mon Sep 17 00:00:00 2001 From: Abhishek Kondur Date: Mon, 27 Nov 2023 20:13:29 +0400 Subject: [PATCH 1/2] set superadmin to user if owner conf is set --- migrate/migrate.go | 22 ++++++++++++++++++++++ servercfg/serverconf.go | 5 +++++ 2 files changed, 27 insertions(+) diff --git a/migrate/migrate.go b/migrate/migrate.go index 371ffe30..d805554d 100644 --- a/migrate/migrate.go +++ b/migrate/migrate.go @@ -2,6 +2,7 @@ package migrate import ( "encoding/json" + "log" "golang.org/x/exp/slog" @@ -9,6 +10,7 @@ import ( "github.com/gravitl/netmaker/logger" "github.com/gravitl/netmaker/logic" "github.com/gravitl/netmaker/models" + "github.com/gravitl/netmaker/servercfg" ) // Run - runs all migrations @@ -28,6 +30,26 @@ func assignSuperAdmin() { return } createdSuperAdmin := false + owner := servercfg.GetOwnerEmail() + if owner != "" { + user, err := logic.GetUser(owner) + if err != nil { + log.Fatal("error getting user", "user", owner, "error", err.Error()) + } + user.IsSuperAdmin = true + user.IsAdmin = false + err = logic.UpsertUser(*user) + if err != nil { + log.Fatal( + "error updating user to superadmin", + "user", + user.UserName, + "error", + err.Error(), + ) + } + return + } for _, u := range users { if u.IsAdmin { user, err := logic.GetUser(u.UserName) diff --git a/servercfg/serverconf.go b/servercfg/serverconf.go index 7bac8ede..fd0b4a26 100644 --- a/servercfg/serverconf.go +++ b/servercfg/serverconf.go @@ -256,6 +256,11 @@ func GetPublicBrokerEndpoint() string { } } +// GetOwnerEmail - gets the owner email (saas) +func GetOwnerEmail() string { + return os.Getenv("OWNER_EMAIL") +} + // GetMessageQueueEndpoint - gets the message queue endpoint func GetMessageQueueEndpoint() (string, bool) { host, _ := GetPublicIP() From 2f76fa577a3f3029c7df7ba088210338f96e0118 Mon Sep 17 00:00:00 2001 From: Abhishek Kondur Date: Mon, 27 Nov 2023 20:27:10 +0400 Subject: [PATCH 2/2] saas owner email --- servercfg/serverconf.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/servercfg/serverconf.go b/servercfg/serverconf.go index fd0b4a26..d032e6bf 100644 --- a/servercfg/serverconf.go +++ b/servercfg/serverconf.go @@ -258,7 +258,7 @@ func GetPublicBrokerEndpoint() string { // GetOwnerEmail - gets the owner email (saas) func GetOwnerEmail() string { - return os.Getenv("OWNER_EMAIL") + return os.Getenv("SAAS_OWNER_EMAIL") } // GetMessageQueueEndpoint - gets the message queue endpoint