From 8493dba23c73617d9529b7ca13b400d50ac6f455 Mon Sep 17 00:00:00 2001 From: baude Date: Mon, 26 Mar 2018 09:39:14 -0500 Subject: Initial varlink implementation Signed-off-by: baude Closes: #627 Approved by: mheon --- libpod/version.go | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 libpod/version.go (limited to 'libpod') diff --git a/libpod/version.go b/libpod/version.go new file mode 100644 index 000000000..9bc4fe616 --- /dev/null +++ b/libpod/version.go @@ -0,0 +1,50 @@ +package libpod + +import ( + "runtime" + "strconv" + + "github.com/projectatomic/libpod/cmd/podman/ioprojectatomicpodman" + podmanVersion "github.com/projectatomic/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 { + ioprojectatomicpodman.VarlinkInterface + 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{ + Version: podmanVersion.Version, + GoVersion: runtime.Version(), + GitCommit: GitCommit, + Built: buildTime, + OsArch: runtime.GOOS + "/" + runtime.GOARCH, + }, nil +} -- cgit v1.2.3-54-g00ecf