Skip to content

Commit a03d841

Browse files
committed
ci: add turbo reproduce test & use local registry
Signed-off-by: Bowei Zhuang <zhuangbowei.zbw@alibaba-inc.com>
1 parent 69798e4 commit a03d841

14 files changed

+69
-23
lines changed

.github/workflows/ci-userspace-convertor.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@ jobs:
4141
shell: bash
4242
run: |
4343
bash start_services.sh
44-
sleep 5s
44+
sleep 3s
45+
docker run -d -p 5000:5000 --restart always --name registry registry:2
46+
sleep 3s
4547
4648
- name: CI - uconv reproduce
4749
working-directory: ci/uconv_reproduce

ci/build_image/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,17 @@ SHELL ["/bin/bash", "-c"]
4141
WORKDIR /app
4242
COPY --from=builder /tmp/overlaybd-snapshotter_${RELEASE_VERSION}_amd64.deb .
4343
COPY ./ci/build_image/start_services.sh .
44+
45+
RUN apt-get update && apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release software-properties-common && \
46+
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg && \
47+
echo \
48+
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
49+
$(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \
50+
apt-get update && apt-get install -y docker-ce docker-ce-cli containerd.io && \
51+
apt-get clean && rm -rf /var/lib/apt/lists/*
52+
4453
RUN \
45-
apt update && apt install -y containerd libnl-3-200 libnl-genl-3-200 libcurl4-openssl-dev libaio-dev wget less kmod && \
54+
apt update && apt install -y libnl-3-200 libnl-genl-3-200 libcurl4-openssl-dev libaio-dev wget less kmod && \
4655
wget https://github.com/containerd/overlaybd/releases/download/v${OBD_VERSION}/overlaybd-${OBD_VERSION}-0ubuntu1.22.04.x86_64.deb && \
4756
dpkg -i overlaybd-${OBD_VERSION}-0ubuntu1.22.04.x86_64.deb && \
4857
dpkg -i overlaybd-snapshotter_${RELEASE_VERSION}_amd64.deb && \

ci/build_image/start_services.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,5 @@ fi
2020
/opt/overlaybd/snapshotter/overlaybd-snapshotter &>/var/log/overlaybd-snapshotter.log &
2121

2222
/sbin/modprobe overlay && /usr/bin/containerd &>/var/log/containerd.log &
23+
24+
dockerd &>/var/log/dockerd.log &
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"created":"2021-09-15T18:20:23.99863383Z","architecture":"amd64","os":"linux","config":{"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"],"Cmd":["/bin/bash"],"Labels":{"org.label-schema.build-date":"20201113","org.label-schema.license":"GPLv2","org.label-schema.name":"CentOS Base Image","org.label-schema.schema-version":"1.0","org.label-schema.vendor":"CentOS","org.opencontainers.image.created":"2020-11-13 00:00:00+00:00","org.opencontainers.image.licenses":"GPL-2.0-only","org.opencontainers.image.title":"CentOS Base Image","org.opencontainers.image.vendor":"CentOS"}},"rootfs":{"type":"layers","diff_ids":["sha256:a5cdf182bbffc6992b556633bbb275b559056b6e953133772a80fa261886c07b"]},"history":[{"created":"2021-09-15T18:20:23.417639551Z","created_by":"/bin/sh -c #(nop) ADD file:b3ebbe8bd304723d43b7b44a6d990cd657b63d93d6a2a9293983a30bfc1dfa53 in / "},{"created":"2021-09-15T18:20:23.819893035Z","created_by":"/bin/sh -c #(nop) LABEL org.label-schema.schema-version=1.0 org.label-schema.name=CentOS Base Image org.label-schema.vendor=CentOS org.label-schema.license=GPLv2 org.label-schema.build-date=20201113 org.opencontainers.image.title=CentOS Base Image org.opencontainers.image.vendor=CentOS org.opencontainers.image.licenses=GPL-2.0-only org.opencontainers.image.created=2020-11-13 00:00:00+00:00","empty_layer":true},{"created":"2021-09-15T18:20:23.99863383Z","created_by":"/bin/sh -c #(nop) CMD [\"/bin/bash\"]","empty_layer":true}]}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","digest":"sha256:bdeebc045cc88055079dd5ab899cf594614b2757d5b572ec7acc6f4a24031fb1","size":1476},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:e91a425b0b5001fa96ae2909db392034ee9eccfdf9347410a1343719db83054e","size":2717102,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:e91a425b0b5001fa96ae2909db392034ee9eccfdf9347410a1343719db83054e","containerd.io/snapshot/overlaybd/blob-size":"2717102","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:2d473b07cdd5f0912cd6f1a703352c82b512407db6b05b43f2553732b55df3bc","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}}]}
Lines changed: 44 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,52 +1,75 @@
11
#!/bin/bash
22

3-
apt install -y python3
3+
apt install -y python3 jq
44

55
convertor="/opt/overlaybd/snapshotter/convertor"
66
images=("centos:centos7.9.2009" "ubuntu:22.04" "redis:7.2.3" "wordpress:6.4.2" "nginx:1.25.3")
7-
repo="registry.hub.docker.com/overlaybd"
7+
registry="localhost:5000"
88
ci_base=$(pwd)
99

1010
result=0
1111

12-
for image in ${images[@]}
12+
for image in "${images[@]}"
1313
do
14+
from_img="registry.hub.docker.com/overlaybd/${image}"
15+
ctr i pull "${from_img}" &> /dev/null
16+
ctr i tag "${from_img}" "${registry}/${image}" &> /dev/null
17+
ctr i push "${registry}/${image}" &> /dev/null
18+
1419
img=${image%%":"*}
1520
tag=${image##*":"}
16-
echo ${img} ${tag}
21+
echo "${img} ${tag}"
22+
23+
workspace="${ci_base}/workspace_${image/:/_}"
24+
25+
rm -rf "${workspace}"
26+
mkdir -p "${workspace}"
1727

18-
o_tag="${tag}_obd"
19-
tmp_dir="${ci_base}/tmp_conv_${image/:/_}"
28+
tag_obd="${tag}_overlaybd"
29+
tag_turbo="${tag}_turbo"
30+
manifest_obd="${workspace}/manifest.json"
31+
manifest_turbo="${workspace}/manifest-turbo.json"
32+
config_obd="${workspace}/config.json"
33+
config_turbo="${workspace}/config-turbo.json"
34+
output_obd="${workspace}/convert.overlaybd.out"
35+
output_turbo="${workspace}/convert.turbo.out"
2036

21-
rm -rf ${tmp_dir}
22-
mkdir -p ${tmp_dir}
37+
${convertor} -r "${registry}/${img}" -i "${tag}" --overlaybd "${tag_obd}" -d "${workspace}/overlaybd_tmp_conv" &> "${output_obd}"
38+
curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.manifest.v1+json" -o "${manifest_obd}" "${registry}/v2/${img}/manifests/${tag_obd}" &> /dev/null
39+
configDigest=$(jq '.config.digest' "${manifest_obd}")
40+
configDigest=${configDigest//\"/}
41+
curl -o "${config_obd}" "${registry}/v2/${img}/blobs/${configDigest}" &> /dev/null
2342

24-
${convertor} -r ${repo}/${img} \
25-
--reserve --no-upload --dump-manifest \
26-
-i ${tag} -o ${o_tag} -d ${tmp_dir} &>${tmp_dir}/convert.out
43+
${convertor} -r "${registry}/${img}" -i "${tag}" --turboOCI "${tag_turbo}" -d "${workspace}/turbo_tmp_conv" &> "${output_turbo}"
44+
curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json,application/vnd.oci.image.manifest.v1+json" -o "${manifest_turbo}" "${registry}/v2/${img}/manifests/${tag_turbo}" &> /dev/null
45+
configDigest=$(jq '.config.digest' "${manifest_turbo}")
46+
configDigest=${configDigest//\"/}
47+
curl -o "${config_turbo}" "${registry}/v2/${img}/blobs/${configDigest}" &> /dev/null
2748

2849
prefix=$(date +%Y%m%d%H%M%S)
29-
files=("manifest" "config")
50+
51+
mode=("manifest" "config" "manifest" "config")
52+
actual=("${manifest_obd}" "${config_obd}" "${manifest_turbo}" "${config_turbo}")
53+
expected=("${ci_base}/${img}/manifest.json" "${ci_base}/${img}/config.json" "${ci_base}/${img}/manifest-turbo.json" "${ci_base}/${img}/config-turbo.json")
54+
3055
conv_res=0
31-
for file in ${files[@]}
32-
do
33-
fn="${file}.json"
34-
# diff ${tmp_dir}/${fn} ${ci_base}/${img}/${fn}
35-
python3 compare_layers.py ${file} ${tmp_dir}/${fn} ${ci_base}/${img}/${fn}
56+
n=${#mode[@]}
57+
for ((i=0; i<n; i++)); do
58+
python3 compare_layers.py ${mode[$i]} ${actual[$i]} ${expected[$i]}
3659
ret=$?
3760
if [[ ${ret} -eq 0 ]]; then
38-
echo "${prefix} ${img} ${file} consistent"
61+
echo "${prefix} ${img} ${expected[$i]} consistent"
3962
else
40-
echo "${prefix} ${img} ${file} diff"
63+
echo "${prefix} ${img} ${expected[$i]} diff"
4164
conv_res=1
4265
fi
4366
done
4467

4568
if [[ ${conv_res} -eq 1 ]]; then
46-
cat ${tmp_dir}/convert.out | sed 's/\\n/\n/g'
69+
sed 's/\\n/\n/g' < "${output_obd}"
70+
sed 's/\\n/\n/g' < "${output_turbo}"
4771
result=1
4872
fi
49-
rm -rf ${tmp_dir}
5073
done
5174

5275
exit ${result}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"created":"2023-10-24T22:44:45Z","architecture":"amd64","os":"linux","config":{"ExposedPorts":{"80/tcp":{}},"Env":["PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin","NGINX_VERSION=1.25.3","NJS_VERSION=0.8.2","PKG_RELEASE=1~bookworm"],"Entrypoint":["/docker-entrypoint.sh"],"Cmd":["nginx","-g","daemon off;"],"Labels":{"maintainer":"NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e"},"StopSignal":"SIGQUIT","ArgsEscaped":true},"rootfs":{"type":"layers","diff_ids":["sha256:e33f3ead13b687a680cf13d7f86a569702cf655a0589aafd55612a917d95a08a","sha256:91383a518f47aeceff58fb3775f03b6a0b76d13bbc26c7b39832a23f1c0b0cde","sha256:766f42e8eb2ac31f367924bd8420fc15f4b44847c3b0722fb1b321e36c3775c2","sha256:49727dd910d22ecb0c3daa57f82525990cf3de2fe6870146e0598f63055b5766","sha256:95e2b5fa5d0146c2ec249d84545cf5cc16260eee36d946039d0c61b71a8b2262","sha256:481660c954bec0aeb5b3710c6a1dacbbbe193f168492121fd5977d5e806bcdef","sha256:85887d672eff2cc622f243384ad72977535756eee73ae785c04a6a4a223b4c8f"]},"history":[{"created":"2023-10-24T22:44:45Z","created_by":"/bin/sh -c #(nop) ADD file:ac3cd70031d35e46d86b876934946ffc8756de4de065fbc926dce642dac07ff3 in / "},{"created":"2023-10-24T22:44:45Z","created_by":"/bin/sh -c #(nop) CMD [\"bash\"]","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"LABEL maintainer=NGINX Docker Maintainers \u003cdocker-maint@nginx.com\u003e","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"ENV NGINX_VERSION=1.25.3","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"ENV NJS_VERSION=0.8.2","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"ENV PKG_RELEASE=1~bookworm","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"RUN /bin/sh -c set -x \u0026\u0026 groupadd --system --gid 101 nginx \u0026\u0026 useradd --system --gid nginx --no-create-home --home /nonexistent --comment \"nginx user\" --shell /bin/false --uid 101 nginx \u0026\u0026 apt-get update \u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y gnupg1 ca-certificates \u0026\u0026 NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; NGINX_GPGKEY_PATH=/usr/share/keyrings/nginx-archive-keyring.gpg; export GNUPGHOME=\"$(mktemp -d)\"; found=''; for server in hkp://keyserver.ubuntu.com:80 pgp.mit.edu ; do echo \"Fetching GPG key $NGINX_GPGKEY from $server\"; gpg1 --keyserver \"$server\" --keyserver-options timeout=10 --recv-keys \"$NGINX_GPGKEY\" \u0026\u0026 found=yes \u0026\u0026 break; done; test -z \"$found\" \u0026\u0026 echo \u003e\u00262 \"error: failed to fetch GPG key $NGINX_GPGKEY\" \u0026\u0026 exit 1; gpg1 --export \"$NGINX_GPGKEY\" \u003e \"$NGINX_GPGKEY_PATH\" ; rm -rf \"$GNUPGHOME\"; apt-get remove --purge --auto-remove -y gnupg1 \u0026\u0026 rm -rf /var/lib/apt/lists/* \u0026\u0026 dpkgArch=\"$(dpkg --print-architecture)\" \u0026\u0026 nginxPackages=\" nginx=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-xslt=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-geoip=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-image-filter=${NGINX_VERSION}-${PKG_RELEASE} nginx-module-njs=${NGINX_VERSION}+${NJS_VERSION}-${PKG_RELEASE} \" \u0026\u0026 case \"$dpkgArch\" in amd64|arm64) echo \"deb [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ bookworm nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \u0026\u0026 apt-get update ;; *) echo \"deb-src [signed-by=$NGINX_GPGKEY_PATH] https://nginx.org/packages/mainline/debian/ bookworm nginx\" \u003e\u003e /etc/apt/sources.list.d/nginx.list \u0026\u0026 tempDir=\"$(mktemp -d)\" \u0026\u0026 chmod 777 \"$tempDir\" \u0026\u0026 savedAptMark=\"$(apt-mark showmanual)\" \u0026\u0026 apt-get update \u0026\u0026 apt-get build-dep -y $nginxPackages \u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 DEB_BUILD_OPTIONS=\"nocheck parallel=$(nproc)\" apt-get source --compile $nginxPackages ) \u0026\u0026 apt-mark showmanual | xargs apt-mark auto \u003e /dev/null \u0026\u0026 { [ -z \"$savedAptMark\" ] || apt-mark manual $savedAptMark; } \u0026\u0026 ls -lAFh \"$tempDir\" \u0026\u0026 ( cd \"$tempDir\" \u0026\u0026 dpkg-scanpackages . \u003e Packages ) \u0026\u0026 grep '^Package: ' \"$tempDir/Packages\" \u0026\u0026 echo \"deb [ trusted=yes ] file://$tempDir ./\" \u003e /etc/apt/sources.list.d/temp.list \u0026\u0026 apt-get -o Acquire::GzipIndexes=false update ;; esac \u0026\u0026 apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base curl \u0026\u0026 apt-get remove --purge --auto-remove -y \u0026\u0026 rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list \u0026\u0026 if [ -n \"$tempDir\" ]; then apt-get purge -y --auto-remove \u0026\u0026 rm -rf \"$tempDir\" /etc/apt/sources.list.d/temp.list; fi \u0026\u0026 ln -sf /dev/stdout /var/log/nginx/access.log \u0026\u0026 ln -sf /dev/stderr /var/log/nginx/error.log \u0026\u0026 mkdir /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-10-24T22:44:45Z","created_by":"COPY docker-entrypoint.sh / # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-10-24T22:44:45Z","created_by":"COPY 10-listen-on-ipv6-by-default.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-10-24T22:44:45Z","created_by":"COPY 15-local-resolvers.envsh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-10-24T22:44:45Z","created_by":"COPY 20-envsubst-on-templates.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-10-24T22:44:45Z","created_by":"COPY 30-tune-worker-processes.sh /docker-entrypoint.d # buildkit","comment":"buildkit.dockerfile.v0"},{"created":"2023-10-24T22:44:45Z","created_by":"ENTRYPOINT [\"/docker-entrypoint.sh\"]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"EXPOSE map[80/tcp:{}]","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"STOPSIGNAL SIGQUIT","comment":"buildkit.dockerfile.v0","empty_layer":true},{"created":"2023-10-24T22:44:45Z","created_by":"CMD [\"nginx\" \"-g\" \"daemon off;\"]","comment":"buildkit.dockerfile.v0","empty_layer":true}]}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"schemaVersion":2,"mediaType":"application/vnd.docker.distribution.manifest.v2+json","config":{"mediaType":"application/vnd.docker.container.image.v1+json","digest":"sha256:50af392da450b64e5eba79a2bf7801f928eeb810bd12bcd348f624faff8b8b1d","size":7001},"layers":[{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:93d5e7762541cd51f8e8dceea4978516596aa3dd837978334b60f0f8c03ca7b0","size":1124551,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:93d5e7762541cd51f8e8dceea4978516596aa3dd837978334b60f0f8c03ca7b0","containerd.io/snapshot/overlaybd/blob-size":"1124551","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:af107e978371b6cd6339127a05502c5eacd1e6b0e9eb7b2f4aa7b6fc87e2dd81","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:1506f7bd93175aeef67b9b3b82d9be033e4190df6ae969f92bc259c521fc57e5","size":1447184,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:1506f7bd93175aeef67b9b3b82d9be033e4190df6ae969f92bc259c521fc57e5","containerd.io/snapshot/overlaybd/blob-size":"1447184","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:336ba1f05c3ede29f0a73d3f88b39a14f6abdc57fafedf3891fd793504440263","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:8e437e609e9ba192e0ee5e565bd2751e259b22865e7d326137d2445d7948c29b","size":5461,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:8e437e609e9ba192e0ee5e565bd2751e259b22865e7d326137d2445d7948c29b","containerd.io/snapshot/overlaybd/blob-size":"5461","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:8c37d2ff6efa0a08f83056109a47aa0caf2cc82136d926d1176cd451f7fbb245","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:4207acbe5f7f14981e6bc9084f027cc0929e7a04522554e502f0d1d86db810bb","size":5515,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:4207acbe5f7f14981e6bc9084f027cc0929e7a04522554e502f0d1d86db810bb","containerd.io/snapshot/overlaybd/blob-size":"5515","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:51d6357098de68f5fc2e50afdaa73fc4fcbdeed2161adc9f14d1d8dae9d94d36","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:bf30195dd726146b4226dd9801be61e0489fffee76c691c4d3548adbfab1e0c1","size":5551,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:bf30195dd726146b4226dd9801be61e0489fffee76c691c4d3548adbfab1e0c1","containerd.io/snapshot/overlaybd/blob-size":"5551","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:782f1ecce57d1fa61421872a16b979ad92057db19841b5811616a749705214f4","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:119182134a3bf46ce36129d941f445c1f25a40aba54ca45125b297ae0333ee0f","size":5606,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:119182134a3bf46ce36129d941f445c1f25a40aba54ca45125b297ae0333ee0f","containerd.io/snapshot/overlaybd/blob-size":"5606","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:5e99d351b073fec15b9817dc5234f32433ef0404849cc66857be2eca5192ccf8","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}},{"mediaType":"application/vnd.docker.image.rootfs.diff.tar.gzip","digest":"sha256:686371e8b8e647b5aef01a3efe017beb9416d7351a0d822d6a89bdfc389293cd","size":5635,"annotations":{"containerd.io/snapshot/overlaybd/blob-digest":"sha256:686371e8b8e647b5aef01a3efe017beb9416d7351a0d822d6a89bdfc389293cd","containerd.io/snapshot/overlaybd/blob-size":"5635","containerd.io/snapshot/overlaybd/turbo-oci/target-digest":"sha256:7b73345df136081ef2e60fd5cb875771c02c5ecb76015292babbc4711d195a31","containerd.io/snapshot/overlaybd/turbo-oci/target-media-type":"application/vnd.docker.image.rootfs.diff.tar.gzip","containerd.io/snapshot/overlaybd/version":"0.1.0-turbo.ociv1"}}]}

0 commit comments

Comments
 (0)