compat: add shared-size par to GET /images/json

Related: https://issues.redhat.com/browse/RUN-2698

Signed-off-by: Nicola Sella <nsella@redhat.com>
This commit is contained in:
Nicola Sella
2025-05-15 18:39:38 +02:00
parent b97937ecc4
commit b0e7a2ec9b
2 changed files with 15 additions and 3 deletions

View File

@ -419,6 +419,7 @@ func GetImages(w http.ResponseWriter, r *http.Request) {
All bool
Digests bool
Filter string // Docker 1.24 compatibility
SharedSize bool `schema:"shared-size"` // Docker 1.42 compatibility
}{
// This is where you can override the golang default value for one of fields
}
@ -477,6 +478,10 @@ func GetImages(w http.ResponseWriter, r *http.Request) {
if s.RepoDigests == nil {
s.RepoDigests = []string{}
}
// Docker 1.42 sets SharedSize to -1 if ont passed explicitly
if !query.SharedSize {
s.SharedSize = -1
}
}
}
utils.WriteResponse(w, http.StatusOK, summaries)

View File

@ -455,4 +455,11 @@ t GET images/json 200 \
podman rmi -f $(< $IIDFILE)
rm -f $IIDFILE
# check that SharedSize returns -1 for compat api if not set
# and 0 (or the correct shared size) if set
t GET images/json 200 \
.[0].SharedSize=-1
t GET images/json?shared-size=true 200 \
.[0].SharedSize=0
# vim: filetype=sh