From e025e0670721b9c82cd6bae769365a47de981f5c Mon Sep 17 00:00:00 2001 From: Andy Xie Date: Mon, 25 Jun 2018 17:02:24 +0800 Subject: [PATCH] adjust client-go User-Agent --- main.go | 1 + pkg/version/version.go | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/main.go b/main.go index ced3d7ee..88fd9b78 100644 --- a/main.go +++ b/main.go @@ -116,6 +116,7 @@ func createKubeClient(apiserver string, kubeconfig string) (clientset.Interface, return nil, err } + config.UserAgent = version.GetVersion().String() config.AcceptContentTypes = "application/vnd.kubernetes.protobuf,application/json" config.ContentType = "application/vnd.kubernetes.protobuf" diff --git a/pkg/version/version.go b/pkg/version/version.go index 04dfd21b..cb188122 100644 --- a/pkg/version/version.go +++ b/pkg/version/version.go @@ -15,6 +15,8 @@ package version import ( "fmt" + "os" + "path/filepath" "runtime" ) @@ -36,6 +38,12 @@ type Version struct { Platform string } +func (v Version) String() string { + return fmt.Sprintf("%s/%s (%s/%s) kube-state-metrics/%s", + filepath.Base(os.Args[0]), v.Release, + runtime.GOOS, runtime.GOARCH, v.GitCommit) +} + // GetVersion returns kube-state-metrics version func GetVersion() Version { return Version{