summaryrefslogtreecommitdiff
path: root/pkg/api/handlers/version.go
diff options
context:
space:
mode:
authorJhon Honce <jhonce@redhat.com>2020-03-09 14:18:44 +0100
committerJhon Honce <jhonce@redhat.com>2020-03-10 08:03:41 -0700
commit31112e4b087612f7d63e83d770263b8b9fa4f206 (patch)
treee27af2df4e9c2c24f6a245e245ccc96d5fe1706b /pkg/api/handlers/version.go
parent684813fb3effbd7a483e44233ed395eb49c7fded (diff)
downloadpodman-31112e4b087612f7d63e83d770263b8b9fa4f206.tar.gz
podman-31112e4b087612f7d63e83d770263b8b9fa4f206.tar.bz2
podman-31112e4b087612f7d63e83d770263b8b9fa4f206.zip
Refactor handler packages
To help with packaging, the handlers in pkg/api/handlers are now found in pkg/api/handler/compat. Signed-off-by: Jhon Honce <jhonce@redhat.com>
Diffstat (limited to 'pkg/api/handlers/version.go')
-rw-r--r--pkg/api/handlers/version.go73
1 files changed, 0 insertions, 73 deletions
diff --git a/pkg/api/handlers/version.go b/pkg/api/handlers/version.go
deleted file mode 100644
index 94166952c..000000000
--- a/pkg/api/handlers/version.go
+++ /dev/null
@@ -1,73 +0,0 @@
-package handlers
-
-import (
- "fmt"
- "net/http"
- goRuntime "runtime"
- "time"
-
- "github.com/containers/libpod/libpod"
- "github.com/containers/libpod/libpod/define"
- "github.com/containers/libpod/pkg/api/handlers/utils"
- docker "github.com/docker/docker/api/types"
- "github.com/pkg/errors"
-)
-
-const (
- DefaultApiVersion = "1.40" // See https://docs.docker.com/engine/api/v1.40/
- MinimalApiVersion = "1.24"
-)
-
-func VersionHandler(w http.ResponseWriter, r *http.Request) {
- // 200 ok
- // 500 internal
- runtime := r.Context().Value("runtime").(*libpod.Runtime)
-
- versionInfo, err := define.GetVersion()
- if err != nil {
- utils.Error(w, "Something went wrong.", http.StatusInternalServerError, err)
- return
- }
-
- infoData, err := runtime.Info()
- if err != nil {
- utils.Error(w, "Something went wrong.", http.StatusInternalServerError, errors.Wrapf(err, "Failed to obtain system memory info"))
- return
- }
- hostInfo := infoData[0].Data
-
- components := []docker.ComponentVersion{{
- Name: "Podman Engine",
- Version: versionInfo.Version,
- Details: map[string]string{
- "APIVersion": DefaultApiVersion,
- "Arch": goRuntime.GOARCH,
- "BuildTime": time.Unix(versionInfo.Built, 0).Format(time.RFC3339),
- "Experimental": "true",
- "GitCommit": versionInfo.GitCommit,
- "GoVersion": versionInfo.GoVersion,
- "KernelVersion": hostInfo["kernel"].(string),
- "MinAPIVersion": MinimalApiVersion,
- "Os": goRuntime.GOOS,
- },
- }}
-
- utils.WriteResponse(w, http.StatusOK, Version{Version: docker.Version{
- Platform: struct {
- Name string
- }{
- Name: fmt.Sprintf("%s/%s/%s", goRuntime.GOOS, goRuntime.GOARCH, hostInfo["Distribution"].(map[string]interface{})["distribution"].(string)),
- },
- APIVersion: components[0].Details["APIVersion"],
- Arch: components[0].Details["Arch"],
- BuildTime: components[0].Details["BuildTime"],
- Components: components,
- Experimental: true,
- GitCommit: components[0].Details["GitCommit"],
- GoVersion: components[0].Details["GoVersion"],
- KernelVersion: components[0].Details["KernelVersion"],
- MinAPIVersion: components[0].Details["MinAPIVersion"],
- Os: components[0].Details["Os"],
- Version: components[0].Version,
- }})
-}