From 6b01719ffbfabce28d0e06c670c6ce3d106dfe3f Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Mon, 22 Jan 2024 16:49:26 +0100 Subject: [PATCH] api: add MinSupportedAPIVersion const This const contains the minimum API version that can be supported by the API server. The daemon is currently configured to use the same version, but we may increment the _configured_ minimum version when deprecating old API versions in future. Signed-off-by: Sebastiaan van Stijn --- api/common.go | 11 ++++++++++- daemon/config/config.go | 2 +- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/api/common.go b/api/common.go index 866ad8f676..b11c2fe02b 100644 --- a/api/common.go +++ b/api/common.go @@ -2,9 +2,18 @@ package api // import "github.com/docker/docker/api" // Common constants for daemon and client. const ( - // DefaultVersion of Current REST API + // DefaultVersion of the current REST API. DefaultVersion = "1.45" + // MinSupportedAPIVersion is the minimum API version that can be supported + // by the API server, specified as "major.minor". Note that the daemon + // may be configured with a different minimum API version, as returned + // in [github.com/docker/docker/api/types.Version.MinAPIVersion]. + // + // API requests for API versions lower than the configured version produce + // an error. + MinSupportedAPIVersion = "1.24" + // NoBaseImageSpecifier is the symbol used by the FROM // command to specify that no base image is to be used. NoBaseImageSpecifier = "scratch" diff --git a/daemon/config/config.go b/daemon/config/config.go index 8b867b953a..a72fba044d 100644 --- a/daemon/config/config.go +++ b/daemon/config/config.go @@ -58,7 +58,7 @@ const ( // This version can be overridden through the "DOCKER_MIN_API_VERSION" // environment variable. It currently defaults to the minimum API version // supported by the API server. - defaultMinAPIVersion = "1.24" + defaultMinAPIVersion = api.MinSupportedAPIVersion // SeccompProfileDefault is the built-in default seccomp profile. SeccompProfileDefault = "builtin" // SeccompProfileUnconfined is a special profile name for seccomp to use an