pkg/config/buildinfo.go (43 lines of code) (raw):

package config import ( "fmt" "runtime" ) var ( version = "XXXX" buildDate = "1970-01-01T00:00:00Z" gitCommit = "" gitTag = "" kubectlVersion = "" ) type BuildInfo struct { Version string `json:"version"` BuildDate string `json:"build_data"` GitCommit string `json:"git_commit"` GitTag string `json:"git_tag"` Go string `json:"go-version"` KubectlVersion string `json:"kubectl_version"` Platform string `json:"platform"` } func (v BuildInfo) String() string { return fmt.Sprintf( "BuildInfo(Version='%v', GitCommit='%v', BuildDate='%v', Go='%v', KubectlVersion='%v', Platform='%v')", v.Version, v.GitCommit, v.BuildDate, v.Go, v.KubectlVersion, v.Platform, ) } func Get() BuildInfo { return BuildInfo{ Version: version, BuildDate: buildDate, GitCommit: gitCommit, GitTag: gitTag, Go: runtime.Version(), Platform: fmt.Sprintf("%s/%s", runtime.GOOS, runtime.GOARCH), KubectlVersion: kubectlVersion, } }