From 03cddc62f4bcd48fbc3a31dd94f2bf84e44840dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Gronowski?= Date: Thu, 22 Feb 2024 17:07:26 +0100 Subject: [PATCH] api/image-inspect: Remove Container and ContainerConfig MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don't include these fields starting from API v1.45. Signed-off-by: Paweł Gronowski --- api/server/router/image/image_routes.go | 4 ++++ api/types/types.go | 4 ++-- docs/api/version-history.md | 3 +++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/api/server/router/image/image_routes.go b/api/server/router/image/image_routes.go index d3abee8dd6..b941cab69f 100644 --- a/api/server/router/image/image_routes.go +++ b/api/server/router/image/image_routes.go @@ -306,6 +306,10 @@ func (ir *imageRouter) getImagesByName(ctx context.Context, w http.ResponseWrite imageInspect.Created = time.Time{}.Format(time.RFC3339Nano) } } + if versions.GreaterThanOrEqualTo(version, "1.45") { + imageInspect.Container = "" //nolint:staticcheck // ignore SA1019: field is deprecated, but still set on API < v1.45. + imageInspect.ContainerConfig = nil //nolint:staticcheck // ignore SA1019: field is deprecated, but still set on API < v1.45. + } return httputils.WriteJSON(w, http.StatusOK, imageInspect) } diff --git a/api/types/types.go b/api/types/types.go index 56a8b77d45..ca07162a20 100644 --- a/api/types/types.go +++ b/api/types/types.go @@ -82,7 +82,7 @@ type ImageInspect struct { // Depending on how the image was created, this field may be empty. // // Deprecated: this field is omitted in API v1.45, but kept for backward compatibility. - Container string + Container string `json:",omitempty"` // ContainerConfig is an optional field containing the configuration of the // container that was last committed when creating the image. @@ -91,7 +91,7 @@ type ImageInspect struct { // and it is not in active use anymore. // // Deprecated: this field is omitted in API v1.45, but kept for backward compatibility. - ContainerConfig *container.Config + ContainerConfig *container.Config `json:",omitempty"` // DockerVersion is the version of Docker that was used to build the image. // diff --git a/docs/api/version-history.md b/docs/api/version-history.md index a91d01237e..7784426475 100644 --- a/docs/api/version-history.md +++ b/docs/api/version-history.md @@ -22,6 +22,9 @@ keywords: "API, Docker, rcli, REST, documentation" * `POST /images/search` will always assume a `false` value for the `is-automated` field. Consequently, searching for `is-automated=true` will yield no results, while `is-automated=false` will be a no-op. +* `GET /images/{name}/json` no longer includes the `Container` and + `ContainerConfig` fields. To access image configuration, use `Config` field + instead. ## v1.44 API changes