diff --git a/cmd/gateway-startup-msg.go b/cmd/gateway-startup-msg.go index 3a5724aa2..6bc6ced03 100644 --- a/cmd/gateway-startup-msg.go +++ b/cmd/gateway-startup-msg.go @@ -27,6 +27,12 @@ import ( // Prints the formatted startup message. func printGatewayStartupMessage(apiEndPoints []string, backendType string) { + if len(globalSubnetConfig.APIKey) == 0 { + var builder strings.Builder + startupBanner(&builder) + logger.Info("\n" + builder.String()) + } + strippedAPIEndpoints := stripStandardPorts(apiEndPoints, globalMinioHost) // If cache layer is enabled, print cache capacity. cacheAPI := newCachedObjectLayerFn() diff --git a/cmd/main.go b/cmd/main.go index dc5861631..cae1b8980 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -19,10 +19,12 @@ package cmd import ( "fmt" + "io" "os" "path/filepath" "runtime" "sort" + "strings" "github.com/minio/cli" "github.com/minio/minio/internal/color" @@ -163,11 +165,21 @@ func newApp(name string) *cli.App { return app } +func startupBanner(banner io.Writer) { + fmt.Fprintln(banner, color.Blue("Runtime:")+color.Bold(" %s %s/%s", runtime.Version(), runtime.GOOS, runtime.GOARCH)) + fmt.Fprintln(banner, color.Blue("License:")+color.Bold(" GNU AGPLv3 ")) + fmt.Fprintln(banner, color.Blue("Copyright:")+color.Bold(" 2015-%s MinIO, Inc.", CopyrightYear)) +} + +func versionBanner(c *cli.Context) io.Reader { + banner := &strings.Builder{} + fmt.Fprintln(banner, color.Bold("%s version %s (commit-id=%s)", c.App.Name, c.App.Version, CommitID)) + startupBanner(banner) + return strings.NewReader(banner.String()) +} + func printMinIOVersion(c *cli.Context) { - fmt.Fprintln(c.App.Writer, color.Greenf("%s version %s (commit-id=%s)", c.App.Name, c.App.Version, CommitID)) - fmt.Fprintln(c.App.Writer, color.Greenf("Runtime: %s %s/%s", runtime.Version(), runtime.GOOS, runtime.GOARCH)) - fmt.Fprintln(c.App.Writer, color.Greenf("Copyright (c) 2015-%s MinIO, Inc.", CopyrightYear)) - fmt.Fprintln(c.App.Writer, color.Red("Licence GNU AGPLv3 ")) + io.Copy(c.App.Writer, versionBanner(c)) } // Main main for minio server. diff --git a/cmd/server-startup-msg.go b/cmd/server-startup-msg.go index e30478fa7..f363c0bf6 100644 --- a/cmd/server-startup-msg.go +++ b/cmd/server-startup-msg.go @@ -51,8 +51,9 @@ func printStartupMessage(apiEndpoints []string, err error) { } if len(globalSubnetConfig.APIKey) == 0 && err == nil { - logger.Info(color.Blue("\nLicense:") + " GNU AGPLv3 ") - logger.Info(color.Yellow("Detected a deployment not registered with SUBNET. Please register your deployment via 'mc support register ALIAS'\n")) + var builder strings.Builder + startupBanner(&builder) + logger.Info("\n" + builder.String()) } strippedAPIEndpoints := stripStandardPorts(apiEndpoints, globalMinioHost) diff --git a/internal/color/color.go b/internal/color/color.go index 006f599a5..742bef906 100644 --- a/internal/color/color.go +++ b/internal/color/color.go @@ -31,11 +31,11 @@ var ( return !color.NoColor } - Bold = func() func(a ...interface{}) string { + Bold = func() func(format string, a ...interface{}) string { if IsTerminal() { - return color.New(color.Bold).SprintFunc() + return color.New(color.Bold).SprintfFunc() } - return fmt.Sprint + return fmt.Sprintf }() RedBold = func() func(format string, a ...interface{}) string {