mirror of https://github.com/docker/cli.git
cli/command/system: add platformInfo type, and fix "omitempty"
The Platform field was defined with omitempty, but would always be shown in the JSON output, because it was never nil. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
parent
5d37acddeb
commit
9202bef4a7
|
@ -1 +1 @@
|
||||||
{"Client":{"Platform":{"Name":""},"Version":"18.99.5-ce","ApiVersion":"1.38","DefaultAPIVersion":"1.38","GitCommit":"deadbeef","GoVersion":"go1.10.2","Os":"linux","Arch":"amd64","BuildTime":"Wed May 30 22:21:05 2018","Context":"my-context"},"Server":{"Platform":{"Name":"Docker Enterprise Edition (EE) 2.0"},"Components":[{"Name":"Engine","Version":"17.06.2-ee-15","Details":{"ApiVersion":"1.30","Arch":"amd64","BuildTime":"Mon Jul 9 23:38:38 2018","Experimental":"false","GitCommit":"64ddfa6","GoVersion":"go1.8.7","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"Universal Control Plane","Version":"17.06.2-ee-15","Details":{"ApiVersion":"1.30","Arch":"amd64","BuildTime":"Mon Jul 2 21:24:07 UTC 2018","GitCommit":"4513922","GoVersion":"go1.9.4","MinApiVersion":"1.20","Os":"linux","Version":"3.0.3-tp2"}},{"Name":"Kubernetes","Version":"1.8+","Details":{"buildDate":"2018-04-26T16:51:21Z","compiler":"gc","gitCommit":"8d637aedf46b9c21dde723e29c645b9f27106fa5","gitTreeState":"clean","gitVersion":"v1.8.11-docker-8d637ae","goVersion":"go1.8.3","major":"1","minor":"8+","platform":"linux/amd64"}},{"Name":"Calico","Version":"v3.0.8","Details":{"cni":"v2.0.6","kube-controllers":"v2.0.5","node":"v3.0.8"}}],"Version":"","ApiVersion":"","GitCommit":"","GoVersion":"","Os":"","Arch":""}}
|
{"Client":{"Version":"18.99.5-ce","ApiVersion":"1.38","DefaultAPIVersion":"1.38","GitCommit":"deadbeef","GoVersion":"go1.10.2","Os":"linux","Arch":"amd64","BuildTime":"Wed May 30 22:21:05 2018","Context":"my-context"},"Server":{"Platform":{"Name":"Docker Enterprise Edition (EE) 2.0"},"Components":[{"Name":"Engine","Version":"17.06.2-ee-15","Details":{"ApiVersion":"1.30","Arch":"amd64","BuildTime":"Mon Jul 9 23:38:38 2018","Experimental":"false","GitCommit":"64ddfa6","GoVersion":"go1.8.7","MinAPIVersion":"1.12","Os":"linux"}},{"Name":"Universal Control Plane","Version":"17.06.2-ee-15","Details":{"ApiVersion":"1.30","Arch":"amd64","BuildTime":"Mon Jul 2 21:24:07 UTC 2018","GitCommit":"4513922","GoVersion":"go1.9.4","MinApiVersion":"1.20","Os":"linux","Version":"3.0.3-tp2"}},{"Name":"Kubernetes","Version":"1.8+","Details":{"buildDate":"2018-04-26T16:51:21Z","compiler":"gc","gitCommit":"8d637aedf46b9c21dde723e29c645b9f27106fa5","gitTreeState":"clean","gitVersion":"v1.8.11-docker-8d637ae","goVersion":"go1.8.3","major":"1","minor":"8+","platform":"linux/amd64"}},{"Name":"Calico","Version":"v3.0.8","Details":{"cni":"v2.0.6","kube-controllers":"v2.0.5","node":"v3.0.8"}}],"Version":"","ApiVersion":"","GitCommit":"","GoVersion":"","Os":"","Arch":""}}
|
||||||
|
|
|
@ -23,7 +23,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultVersionTemplate = `{{with .Client -}}
|
const defaultVersionTemplate = `{{with .Client -}}
|
||||||
Client:{{if ne .Platform.Name ""}} {{.Platform.Name}}{{end}}
|
Client:{{if ne .Platform nil}}{{if ne .Platform.Name ""}} {{.Platform.Name}}{{end}}{{end}}
|
||||||
Version: {{.Version}}
|
Version: {{.Version}}
|
||||||
API version: {{.APIVersion}}{{if ne .APIVersion .DefaultAPIVersion}} (downgraded from {{.DefaultAPIVersion}}){{end}}
|
API version: {{.APIVersion}}{{if ne .APIVersion .DefaultAPIVersion}} (downgraded from {{.DefaultAPIVersion}}){{end}}
|
||||||
Go version: {{.GoVersion}}
|
Go version: {{.GoVersion}}
|
||||||
|
@ -66,9 +66,12 @@ type versionInfo struct {
|
||||||
Server *types.Version
|
Server *types.Version
|
||||||
}
|
}
|
||||||
|
|
||||||
type clientVersion struct {
|
type platformInfo struct {
|
||||||
Platform struct{ Name string } `json:",omitempty"`
|
Name string `json:"Name,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type clientVersion struct {
|
||||||
|
Platform *platformInfo `json:"Platform,omitempty"`
|
||||||
Version string
|
Version string
|
||||||
APIVersion string `json:"ApiVersion"`
|
APIVersion string `json:"ApiVersion"`
|
||||||
DefaultAPIVersion string `json:"DefaultAPIVersion,omitempty"`
|
DefaultAPIVersion string `json:"DefaultAPIVersion,omitempty"`
|
||||||
|
@ -128,7 +131,6 @@ func runVersion(dockerCli command.Cli, opts *versionOptions) error {
|
||||||
|
|
||||||
vd := versionInfo{
|
vd := versionInfo{
|
||||||
Client: clientVersion{
|
Client: clientVersion{
|
||||||
Platform: struct{ Name string }{version.PlatformName},
|
|
||||||
Version: version.Version,
|
Version: version.Version,
|
||||||
APIVersion: dockerCli.CurrentVersion(),
|
APIVersion: dockerCli.CurrentVersion(),
|
||||||
DefaultAPIVersion: dockerCli.DefaultVersion(),
|
DefaultAPIVersion: dockerCli.DefaultVersion(),
|
||||||
|
@ -140,6 +142,9 @@ func runVersion(dockerCli command.Cli, opts *versionOptions) error {
|
||||||
Context: dockerCli.CurrentContext(),
|
Context: dockerCli.CurrentContext(),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
if version.PlatformName != "" {
|
||||||
|
vd.Client.Platform = &platformInfo{Name: version.PlatformName}
|
||||||
|
}
|
||||||
|
|
||||||
sv, err := dockerCli.Client().ServerVersion(context.Background())
|
sv, err := dockerCli.Client().ServerVersion(context.Background())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
|
|
Loading…
Reference in New Issue