From dd934c9ebdd774294ac986799ee98e560eb5c6a7 Mon Sep 17 00:00:00 2001 From: Nicolas Trangez Date: Tue, 14 Apr 2020 17:52:44 +0200 Subject: [PATCH] version/verflag: make program name variable Instead of hard-coding `Kubernetes` in the output generated when executing a binary using the `version/verflag` feature using `--version`, use a variable `programName` which can be overwritten using the `-X` linker flag, e.g.: ``` go build -ldflags "-X k8s.io/component-base/version/verflag.programName=my-tool" ... ``` This allows to use the package in non-Kubernetes applications. Signed-off-by: Nicolas Trangez See: https://github.com/kubernetes/kubernetes/issues/90138 --- staging/src/k8s.io/component-base/version/verflag/verflag.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/staging/src/k8s.io/component-base/version/verflag/verflag.go b/staging/src/k8s.io/component-base/version/verflag/verflag.go index f27e101caa0c..106e3450ff0a 100644 --- a/staging/src/k8s.io/component-base/version/verflag/verflag.go +++ b/staging/src/k8s.io/component-base/version/verflag/verflag.go @@ -89,6 +89,7 @@ const versionFlagName = "version" var ( versionFlag = Version(versionFlagName, VersionFalse, "Print version information and quit") + programName = "Kubernetes" ) // AddFlags registers this package's flags on arbitrary FlagSets, such that they point to the @@ -104,7 +105,7 @@ func PrintAndExitIfRequested() { fmt.Printf("%#v\n", version.Get()) os.Exit(0) } else if *versionFlag == VersionTrue { - fmt.Printf("Kubernetes %s\n", version.Get()) + fmt.Printf("%s %s\n", programName, version.Get()) os.Exit(0) } }