summaryrefslogtreecommitdiff
path: root/libpod/define/version.go
diff options
context:
space:
mode:
authorOpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com>2019-06-27 16:01:45 +0200
committerGitHub <noreply@github.com>2019-06-27 16:01:45 +0200
commit0906b32087c3d7db6844873a7d46241430a1b065 (patch)
tree3c68a0c2d6e2e5742b4cc314136ddb8e9877ec75 /libpod/define/version.go
parent5e3d63a53c0762c99c5eb7863ef7fc8d0b2e8eec (diff)
parent8561b996447793999a6465f9b9e3f0f7bbea2c6a (diff)
downloadpodman-0906b32087c3d7db6844873a7d46241430a1b065.tar.gz
podman-0906b32087c3d7db6844873a7d46241430a1b065.tar.bz2
podman-0906b32087c3d7db6844873a7d46241430a1b065.zip
Merge pull request #3442 from baude/removelibpodfrommainphase2
libpod removal from main (phase 2)
Diffstat (limited to 'libpod/define/version.go')
-rw-r--r--libpod/define/version.go50
1 files changed, 50 insertions, 0 deletions
diff --git a/libpod/define/version.go b/libpod/define/version.go
new file mode 100644
index 000000000..0f9f49050
--- /dev/null
+++ b/libpod/define/version.go
@@ -0,0 +1,50 @@
+package define
+
+import (
+ "runtime"
+ "strconv"
+
+ podmanVersion "github.com/containers/libpod/version"
+)
+
+// Overwritten at build time
+var (
+ // GitCommit is the commit that the binary is being built from.
+ // It will be populated by the Makefile.
+ gitCommit string
+ // BuildInfo is the time at which the binary was built
+ // It will be populated by the Makefile.
+ buildInfo string
+)
+
+//Version is an output struct for varlink
+type Version struct {
+ RemoteAPIVersion int64
+ Version string
+ GoVersion string
+ GitCommit string
+ Built int64
+ OsArch string
+}
+
+// GetVersion returns a VersionOutput struct for varlink and podman
+func GetVersion() (Version, error) {
+ var err error
+ var buildTime int64
+ if buildInfo != "" {
+ // Converts unix time from string to int64
+ buildTime, err = strconv.ParseInt(buildInfo, 10, 64)
+
+ if err != nil {
+ return Version{}, err
+ }
+ }
+ return Version{
+ RemoteAPIVersion: podmanVersion.RemoteAPIVersion,
+ Version: podmanVersion.Version,
+ GoVersion: runtime.Version(),
+ GitCommit: gitCommit,
+ Built: buildTime,
+ OsArch: runtime.GOOS + "/" + runtime.GOARCH,
+ }, nil
+}