diff options
author | Aditya Rajan <arajan@redhat.com> | 2021-11-22 16:35:21 +0530 |
---|---|---|
committer | Aditya Rajan <arajan@redhat.com> | 2021-11-22 21:11:26 +0530 |
commit | 022273c1978609f36d35f9b81405d560f678c11a (patch) | |
tree | 79ba95237a211f5e81e5d16a3bc354829241c809 /pkg/api/handlers/compat | |
parent | 2f6cdd353f50e6c26b34f0b1bff028e8393d2580 (diff) | |
download | podman-022273c1978609f36d35f9b81405d560f678c11a.tar.gz podman-022273c1978609f36d35f9b81405d560f678c11a.tar.bz2 podman-022273c1978609f36d35f9b81405d560f678c11a.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>
Diffstat (limited to 'pkg/api/handlers/compat')
-rw-r--r-- | pkg/api/handlers/compat/images_build.go | 9 |
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 { |