aboutsummaryrefslogtreecommitdiff
path: root/dockerversion
diff options
context:
space:
mode:
authorDaniel Nephin <dnephin@docker.com>2016-01-04 13:36:01 -0500
committerDaniel Nephin <dnephin@docker.com>2016-01-15 12:43:54 -0500
commit61a49bb6ba2c0f17a31a64ee6336b4fc40c37f71 (patch)
tree6be84c31ac9048810078be63140ac2b96add3f63 /dockerversion
parent012a3b6e74d753e1b0560d8f9b085b0fa0a80c0f (diff)
Remove the use of dockerversion from the registry package
Signed-off-by: Daniel Nephin <dnephin@docker.com>
Diffstat (limited to 'dockerversion')
-rw-r--r--dockerversion/useragent.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/dockerversion/useragent.go b/dockerversion/useragent.go
new file mode 100644
index 0000000000..47cc2d491d
--- /dev/null
+++ b/dockerversion/useragent.go
@@ -0,0 +1,24 @@
+package dockerversion
+
+import (
+ "runtime"
+
+ "github.com/docker/docker/pkg/parsers/kernel"
+ "github.com/docker/docker/pkg/useragent"
+)
+
+// DockerUserAgent is the User-Agent the Docker client uses to identify itself.
+// It is populated from version information of different components.
+func DockerUserAgent() string {
+ httpVersion := make([]useragent.VersionInfo, 0, 6)
+ httpVersion = append(httpVersion, useragent.VersionInfo{Name: "docker", Version: Version})
+ httpVersion = append(httpVersion, useragent.VersionInfo{Name: "go", Version: runtime.Version()})
+ httpVersion = append(httpVersion, useragent.VersionInfo{Name: "git-commit", Version: GitCommit})
+ if kernelVersion, err := kernel.GetKernelVersion(); err == nil {
+ httpVersion = append(httpVersion, useragent.VersionInfo{Name: "kernel", Version: kernelVersion.String()})
+ }
+ httpVersion = append(httpVersion, useragent.VersionInfo{Name: "os", Version: runtime.GOOS})
+ httpVersion = append(httpVersion, useragent.VersionInfo{Name: "arch", Version: runtime.GOARCH})
+
+ return useragent.AppendVersions("", httpVersion...)
+}