From 5f64658faab13bc133fd674dff4a0fba2d537695 Mon Sep 17 00:00:00 2001 From: Austin Chang Date: Thu, 11 Jul 2024 00:57:01 +0800 Subject: [PATCH] clarify error message for root user credential (#20043) Signed-off-by: Austin Chang --- cmd/common-main.go | 11 +++++++++-- internal/config/errors.go | 6 ++++++ 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/cmd/common-main.go b/cmd/common-main.go index cfb097eb6..be3f4a1a0 100644 --- a/cmd/common-main.go +++ b/cmd/common-main.go @@ -843,6 +843,7 @@ func loadRootCredentials() { // Check both cases and authenticate them if correctly defined var user, password string var hasCredentials bool + var legacyCredentials bool //nolint:gocritic if env.IsSet(config.EnvRootUser) && env.IsSet(config.EnvRootPassword) { user = env.Get(config.EnvRootUser, "") @@ -851,6 +852,7 @@ func loadRootCredentials() { } else if env.IsSet(config.EnvAccessKey) && env.IsSet(config.EnvSecretKey) { user = env.Get(config.EnvAccessKey, "") password = env.Get(config.EnvSecretKey, "") + legacyCredentials = true hasCredentials = true } else if globalServerCtxt.RootUser != "" && globalServerCtxt.RootPwd != "" { user, password = globalServerCtxt.RootUser, globalServerCtxt.RootPwd @@ -859,8 +861,13 @@ func loadRootCredentials() { if hasCredentials { cred, err := auth.CreateCredentials(user, password) if err != nil { - logger.Fatal(config.ErrInvalidCredentials(err), - "Unable to validate credentials inherited from the shell environment") + if legacyCredentials { + logger.Fatal(config.ErrInvalidCredentials(err), + "Unable to validate credentials inherited from the shell environment") + } else { + logger.Fatal(config.ErrInvalidRootUserCredentials(err), + "Unable to validate credentials inherited from the shell environment") + } } if env.IsSet(config.EnvAccessKey) && env.IsSet(config.EnvSecretKey) { msg := fmt.Sprintf("WARNING: %s and %s are deprecated.\n"+ diff --git a/internal/config/errors.go b/internal/config/errors.go index 751152081..44423f42f 100644 --- a/internal/config/errors.go +++ b/internal/config/errors.go @@ -73,6 +73,12 @@ var ( `Access key length should be at least 3, and secret key length at least 8 characters`, ) + ErrInvalidRootUserCredentials = newErrFn( + "Invalid credentials", + "Please provide correct credentials", + EnvRootUser+` length should be at least 3, and `+EnvRootPassword+` length at least 8 characters`, + ) + ErrMissingEnvCredentialRootUser = newErrFn( "Missing credential environment variable, \""+EnvRootUser+"\"", "Environment variable \""+EnvRootUser+"\" is missing",