package docker import ( "github.com/dotcloud/docker/engine" "github.com/dotcloud/docker/utils" "runtime" ) func init() { engine.Register("version", jobVersion) } func jobVersion(job *engine.Job) engine.Status { if _, err := dockerVersion().WriteTo(job.Stdout); err != nil { job.Errorf("%s", err) return engine.StatusErr } return engine.StatusOK } // dockerVersion returns detailed version information in the form of a queriable // environment. func dockerVersion() *engine.Env { v := &engine.Env{} v.Set("Version", VERSION) v.Set("GitCommit", GITCOMMIT) v.Set("GoVersion", runtime.Version()) v.Set("Os", runtime.GOOS) v.Set("Arch", runtime.GOARCH) // FIXME:utils.GetKernelVersion should only be needed here if kernelVersion, err := utils.GetKernelVersion(); err == nil { v.Set("KernelVersion", kernelVersion.String()) } return v }