diff --git a/cmd/main.go b/cmd/main.go index ab079f055..c3a028f83 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -174,6 +174,23 @@ func Main() { err := initConfig() fatalIf(err, "Unable to initialize minio config.") + // Fetch access keys from environment variables and update the config. + accessKey := os.Getenv("MINIO_ACCESS_KEY") + secretKey := os.Getenv("MINIO_SECRET_KEY") + if accessKey != "" && secretKey != "" { + if !isValidAccessKey.MatchString(accessKey) { + fatalIf(errInvalidArgument, "Invalid access key.") + } + if !isValidSecretKey.MatchString(secretKey) { + fatalIf(errInvalidArgument, "Invalid secret key.") + } + // Set new credentials. + serverConfig.SetCredential(credential{ + AccessKeyID: accessKey, + SecretAccessKey: secretKey, + }) + } + // Enable all loggers by now. enableLoggers() diff --git a/cmd/server-main.go b/cmd/server-main.go index 123a1cba1..bd12f1f53 100644 --- a/cmd/server-main.go +++ b/cmd/server-main.go @@ -174,28 +174,11 @@ func initServerConfig(c *cli.Context) { fatalIf(err, "Unable to convert MINIO_CACHE_EXPIRY=%s environment variable into its time.Duration value.", cacheExpiryStr) } - // Fetch access keys from environment variables if any and update the config. - accessKey := os.Getenv("MINIO_ACCESS_KEY") - secretKey := os.Getenv("MINIO_SECRET_KEY") - - // Validate if both keys are specified and they are valid save them. - if accessKey != "" && secretKey != "" { - if !isValidAccessKey.MatchString(accessKey) { - fatalIf(errInvalidArgument, "Invalid access key.") - } - if !isValidSecretKey.MatchString(secretKey) { - fatalIf(errInvalidArgument, "Invalid secret key.") - } - - // Set new credentials. - serverConfig.SetCredential(credential{ - AccessKeyID: accessKey, - SecretAccessKey: secretKey, - }) - - // Save new config. + // When credentials inherited from the env, server cmd has to save them in the disk + if os.Getenv("MINIO_ACCESS_KEY") != "" && os.Getenv("MINIO_SECRET_KEY") != "" { + // Env credentials are already loaded in serverConfig, just save in the disk err = serverConfig.Save() - fatalIf(err, "Unable to save config.") + fatalIf(err, "Unable to save credentials in the disk.") } // Set maxOpenFiles, This is necessary since default operating