podman

Форк
0
/
version.go 
55 строк · 1.2 Кб
1
package define
2

3
import (
4
	"runtime"
5
	"strconv"
6
	"time"
7

8
	"github.com/containers/podman/v5/version"
9
)
10

11
// Overwritten at build time
12
var (
13
	// GitCommit is the commit that the binary is being built from.
14
	// It will be populated by the Makefile.
15
	gitCommit string
16
	// BuildInfo is the time at which the binary was built
17
	// It will be populated by the Makefile.
18
	buildInfo string
19
)
20

21
// Version is an output struct for API
22
type Version struct {
23
	APIVersion string
24
	Version    string
25
	GoVersion  string
26
	GitCommit  string
27
	BuiltTime  string
28
	Built      int64
29
	OsArch     string
30
	Os         string
31
}
32

33
// GetVersion returns a VersionOutput struct for API and podman
34
func GetVersion() (Version, error) {
35
	var err error
36
	var buildTime int64
37
	if buildInfo != "" {
38
		// Converts unix time from string to int64
39
		buildTime, err = strconv.ParseInt(buildInfo, 10, 64)
40

41
		if err != nil {
42
			return Version{}, err
43
		}
44
	}
45
	return Version{
46
		APIVersion: version.APIVersion[version.Libpod][version.CurrentAPI].String(),
47
		Version:    version.Version.String(),
48
		GoVersion:  runtime.Version(),
49
		GitCommit:  gitCommit,
50
		BuiltTime:  time.Unix(buildTime, 0).Format(time.ANSIC),
51
		Built:      buildTime,
52
		OsArch:     runtime.GOOS + "/" + runtime.GOARCH,
53
		Os:         runtime.GOOS,
54
	}, nil
55
}
56

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.