fix: allow changing media-type when pushing an image tag (#3022)

Fixes #3005

Previously, changing a image's media-type was disallowed.
However, "docker buildx" appears to first push an image manifest and
then an image index for the same image tag. So, allow this.

Signed-off-by: Ramkumar Chinchani <rchincha.dev@gmail.com>
This commit is contained in:
Ramkumar Chinchani
2025-03-11 10:38:47 -07:00
committed by GitHub
parent 0930e57184
commit c87f489a79
3 changed files with 6 additions and 12 deletions
+2 -2
View File
@@ -10835,13 +10835,13 @@ func TestManifestImageIndex(t *testing.T) {
resp, err = resty.R().SetHeader("Content-Type", ispec.MediaTypeImageIndex).
SetBody(content).Put(baseURL + "/v2/index/manifests/test:1.0")
So(err, ShouldBeNil)
So(resp.StatusCode(), ShouldEqual, http.StatusBadRequest)
So(resp.StatusCode(), ShouldEqual, http.StatusCreated)
// previously an image index, try writing a manifest
resp, err = resty.R().SetHeader("Content-Type", ispec.MediaTypeImageManifest).
SetBody(m1content).Put(baseURL + "/v2/index/manifests/test:index1")
So(err, ShouldBeNil)
So(resp.StatusCode(), ShouldEqual, http.StatusBadRequest)
So(resp.StatusCode(), ShouldEqual, http.StatusCreated)
})
})
})