bazelbuild / bazelbuild/rules_docker
container_pull failed for images layers with MediaType "application/vnd.docker.image.rootfs.diff.tar"
- Dominant language
- Starlark
- Stars
- 1.1k
- Forks
- 689
- PR merge metrics
- No merged PRs in 30d
Description
# 🐞 bug report
### Affected Rule
The issue is caused by the rule:
* container_pull
### Is this a regression?
Yes, the previous version in which this bug was not present was: ....
Not sure, we have tested v0.24.0 and v0.25.0 and both failed
### Description
A clear and concise description of the problem...
we found that the rule `container_pull` seems to assume the `MediaType` of image layers is `gzip`, even when the actual `MediaType` is `application/vnd.docker.image.rootfs.diff.tar`
## 🔬 Minimal Reproduction
1. prepare an image with `MediaType` `application/vnd.docker.image.rootfs.diff.tar`
2. write the following configs in `WORKSPACE`
```
container_pull(
name = "image_source",
digest = "",
registry = "",
repository = "",
)
```
3. write the following configs in ``
```
container_image(
name = "build_image",
base = "@image_source//image",
architecture = "amd64",
visibility = ["//visibility:public"],
)
```
4. run `bazelisk build //:build_image`
## 🔥 Exception or Error
2023/08/11 18:56:25 Image pull was unsuccessful: unable to save remote image : unable to write image layers: unable to write image layer: unable to get the contents of layer 0: gzip: invalid header
## 🌍 Your Environment
**Operating System:**
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
**Output of `bazel version`:**
Bazelisk version: v1.11.0
Build label: 6.3.2
Build target: bazel-out/k8-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
Build time: Tue Aug 8 15:48:33 2023 (1691509713)
Build timestamp: 1691509713
Build timestamp as int: 1691509713
**Rules_docker version:**
v0.24.0 and v0.25.0
**Anything else relevant?**
Contributor guide
Assessment
This issue has not been assessed yet.