diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2021-03-04 09:46:24 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-04 09:46:24 -0500 |
commit | 87a78c059dc2fb72ba54805d5488f3e619ae46f1 (patch) | |
tree | a6c7ca6a504f71b1af2307fcdfbbae6787d73b6b /version/version.go | |
parent | 17cacea3fa2bf0df20572720b9a0a3be35f2ef7b (diff) | |
parent | f86d64130838fbeb75ea2776a2f2b6c4a49e58b3 (diff) | |
download | podman-87a78c059dc2fb72ba54805d5488f3e619ae46f1.tar.gz podman-87a78c059dc2fb72ba54805d5488f3e619ae46f1.tar.bz2 podman-87a78c059dc2fb72ba54805d5488f3e619ae46f1.zip |
Merge pull request #9601 from jwhonce/issues/9207
Use version package to track all versions
Diffstat (limited to 'version/version.go')
-rw-r--r-- | version/version.go | 39 |
1 files changed, 35 insertions, 4 deletions
diff --git a/version/version.go b/version/version.go index 520014bb7..6b93ed8ea 100644 --- a/version/version.go +++ b/version/version.go @@ -4,13 +4,44 @@ import ( "github.com/blang/semver" ) +type ( + // Tree determines which API endpoint tree for version + Tree int + // Level determines which API level, current or something from the past + Level int +) + +const ( + // Libpod supports Libpod endpoints + Libpod = Tree(iota) + // Compat supports Libpod endpoints + Compat + + // CurrentAPI announces what is the current API level + CurrentAPI = Level(iota) + // MinimalAPI announces what is the oldest API level supported + MinimalAPI +) + // Version is the version of the build. // NOTE: remember to bump the version at the top // of the top-level README.md file when this is // bumped. var Version = semver.MustParse("3.1.0-dev") -// APIVersion is the version for the remote -// client API. It is used to determine compatibility -// between a remote podman client and its backend -var APIVersion = semver.MustParse("3.0.0") +// See https://docs.docker.com/engine/api/v1.40/ +// libpod compat handlers are expected to honor docker API versions + +// APIVersion provides the current and minimal API versions for compat and libpod endpoint trees +// Note: GET|HEAD /_ping is never versioned and provides the API-Version and Libpod-API-Version headers to allow +// clients to shop for the Version they wish to support +var APIVersion = map[Tree]map[Level]semver.Version{ + Libpod: { + CurrentAPI: Version, + MinimalAPI: semver.MustParse("3.0.0"), + }, + Compat: { + CurrentAPI: semver.MustParse("1.40.0"), + MinimalAPI: semver.MustParse("1.24.0"), + }, +} |