summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAditya Rajan <arajan@redhat.com>2021-11-22 16:35:21 +0530
committerMatthew Heon <mheon@redhat.com>2021-12-06 15:16:03 -0500
commita10963f2e5c4fe056b527b3632c1c5b6077d7b07 (patch)
treec16ecb76d87b0add0ab178a7f68951193b21ede1
parent4f58790488181400b542559a8d24a5a341dd3538 (diff)
downloadpodman-a10963f2e5c4fe056b527b3632c1c5b6077d7b07.tar.gz
podman-a10963f2e5c4fe056b527b3632c1c5b6077d7b07.tar.bz2
podman-a10963f2e5c4fe056b527b3632c1c5b6077d7b07.zip
compat: add layer caching compatiblity for non podman clients
Non-podman clients do not set `layers` while making request. This is supposed to be `true` bydefault but `non-podman-clients i.e Docker` dont know about this field as a result they end up setting this values to `false`. Causing builds to never use cache for layers. Adds compatiblity for `docker SDK`. [NO NEW TESTS NEEDED] Signed-off-by: Aditya Rajan <arajan@redhat.com>
-rw-r--r--pkg/api/handlers/compat/images_build.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/api/handlers/compat/images_build.go b/pkg/api/handlers/compat/images_build.go
index 6152f1c02..7bbc4b99c 100644
--- a/pkg/api/handlers/compat/images_build.go
+++ b/pkg/api/handlers/compat/images_build.go
@@ -134,6 +134,15 @@ func BuildImage(w http.ResponseWriter, r *http.Request) {
return
}
+ // if layers field not set assume its not from a valid podman-client
+ // could be a docker client, set `layers=true` since that is the default
+ // expected behviour
+ if !utils.IsLibpodRequest(r) {
+ if _, found := r.URL.Query()["layers"]; !found {
+ query.Layers = true
+ }
+ }
+
// convert addcaps formats
var addCaps = []string{}
if _, found := r.URL.Query()["addcaps"]; found {