You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: add dual-compression (zstd:chunked) to buildah task
Add COMPRESSION_FORMAT (gzip|zstd-chunked|dual) and FORCE_COMPRESSION
params. In dual mode, push gzip and zstd:chunked variants bundled in a
per-arch OCI index (gzip first). The IMAGES result exposes both child
manifest refs for Chains provenance. SBOM generation, signing, and SBOM
attachment run for each variant.
Default stays gzip; dual requires BUILDAH_FORMAT=oci.
Ref #1264
Ref https://github.com/konflux-ci/architecture/blob/main/ADR/0070-dual-compression-for-container-builds.md
Signed-off-by: Amanyd <amaninsane139@gmail.com>
Copy file name to clipboardExpand all lines: pipelines/docker-build-multi-platform-oci-ta/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,11 +65,13 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
65
65
|BUILD_TIMESTAMP| Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.| ""||
66
66
|CACHI2_ARTIFACT| The Trusted Artifact URI pointing to the artifact with the prefetched dependencies.| ""| '$(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)'|
67
67
|COMMIT_SHA| The image is built from this commit.| ""| '$(tasks.clone-repository.results.commit)'|
68
+
|COMPRESSION_FORMAT| Compression format: gzip (default), zstd-chunked, or dual. In dual mode both gzip and zstd:chunked variants are bundled in a per-arch OCI index (gzip first). dual requires BUILDAH_FORMAT=oci.| gzip||
68
69
|CONTEXT| Path to the directory to use as context.| .| '$(params.path-context)'|
69
70
|CONTEXTUALIZE_SBOM| Determines if SBOM will be contextualized.| true||
70
71
|DOCKERFILE| Path to the Dockerfile to build.| ./Dockerfile| '$(params.dockerfile)'|
71
72
|ENTITLEMENT_SECRET| Name of secret which contains the entitlement certificates| etc-pki-entitlement||
72
73
|ENV_VARS| Array of --env values ("env=value" strings)|[]||
74
+
|FORCE_COMPRESSION| Recompress all layers including base image layers, not just layers created by this build. Only applies to zstd-chunked and dual modes.| false||
73
75
|HERMETIC| Determines if build will be executed without network access.| false| '$(params.hermetic)'|
74
76
|HTTP_PROXY| HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.| ""| '$(tasks.init.results.http-proxy)'|
75
77
|ICM_KEEP_COMPAT_LOCATION| Whether to keep compatibility location at /root/buildinfo/ for ICM injection| true||
@@ -291,6 +293,7 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
291
293
### buildah-remote-oci-ta:0.10 task results
292
294
|name|description|used in params (taskname:taskrefversion:taskparam)
293
295
|---|---|---|
296
+
|IMAGES| Newline-separated image manifest references. In dual mode lists the gzip and zstd child manifest references for Chains provenance; otherwise the single manifest reference.||
294
297
|IMAGE_DIGEST| Digest of the image just built||
295
298
|IMAGE_REF| Image reference of the built image| build-image-index:0.3:IMAGES|
296
299
|IMAGE_URL| Image repository and tag where the built image was pushed||
Copy file name to clipboardExpand all lines: pipelines/docker-build-oci-ta-min/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -56,11 +56,13 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
56
56
|BUILD_TIMESTAMP| Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.| ""||
57
57
|CACHI2_ARTIFACT| The Trusted Artifact URI pointing to the artifact with the prefetched dependencies.| ""| '$(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)'|
58
58
|COMMIT_SHA| The image is built from this commit.| ""| '$(tasks.clone-repository.results.commit)'|
59
+
|COMPRESSION_FORMAT| Compression format: gzip (default), zstd-chunked, or dual. In dual mode both gzip and zstd:chunked variants are bundled in a per-arch OCI index (gzip first). dual requires BUILDAH_FORMAT=oci.| gzip||
59
60
|CONTEXT| Path to the directory to use as context.| .| '$(params.path-context)'|
60
61
|CONTEXTUALIZE_SBOM| Determines if SBOM will be contextualized.| true||
61
62
|DOCKERFILE| Path to the Dockerfile to build.| ./Dockerfile| '$(params.dockerfile)'|
62
63
|ENTITLEMENT_SECRET| Name of secret which contains the entitlement certificates| etc-pki-entitlement||
63
64
|ENV_VARS| Array of --env values ("env=value" strings)|[]||
65
+
|FORCE_COMPRESSION| Recompress all layers including base image layers, not just layers created by this build. Only applies to zstd-chunked and dual modes.| false||
64
66
|HERMETIC| Determines if build will be executed without network access.| false| '$(params.hermetic)'|
65
67
|HTTP_PROXY| HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.| ""| '$(tasks.init.results.http-proxy)'|
66
68
|ICM_KEEP_COMPAT_LOCATION| Whether to keep compatibility location at /root/buildinfo/ for ICM injection| true||
@@ -231,6 +233,7 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
231
233
### buildah-oci-ta-min:0.10 task results
232
234
|name|description|used in params (taskname:taskrefversion:taskparam)
233
235
|---|---|---|
236
+
|IMAGES| Newline-separated image manifest references. In dual mode lists the gzip and zstd child manifest references for Chains provenance; otherwise the single manifest reference.||
234
237
|IMAGE_DIGEST| Digest of the image just built||
235
238
|IMAGE_REF| Image reference of the built image||
236
239
|IMAGE_URL| Image repository and tag where the built image was pushed| build-image-index:0.3:IMAGES|
Copy file name to clipboardExpand all lines: pipelines/docker-build-oci-ta/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,11 +64,13 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
64
64
|BUILD_TIMESTAMP| Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.| ""||
65
65
|CACHI2_ARTIFACT| The Trusted Artifact URI pointing to the artifact with the prefetched dependencies.| ""| '$(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)'|
66
66
|COMMIT_SHA| The image is built from this commit.| ""| '$(tasks.clone-repository.results.commit)'|
67
+
|COMPRESSION_FORMAT| Compression format: gzip (default), zstd-chunked, or dual. In dual mode both gzip and zstd:chunked variants are bundled in a per-arch OCI index (gzip first). dual requires BUILDAH_FORMAT=oci.| gzip||
67
68
|CONTEXT| Path to the directory to use as context.| .| '$(params.path-context)'|
68
69
|CONTEXTUALIZE_SBOM| Determines if SBOM will be contextualized.| true||
69
70
|DOCKERFILE| Path to the Dockerfile to build.| ./Dockerfile| '$(params.dockerfile)'|
70
71
|ENTITLEMENT_SECRET| Name of secret which contains the entitlement certificates| etc-pki-entitlement||
71
72
|ENV_VARS| Array of --env values ("env=value" strings)|[]||
73
+
|FORCE_COMPRESSION| Recompress all layers including base image layers, not just layers created by this build. Only applies to zstd-chunked and dual modes.| false||
72
74
|HERMETIC| Determines if build will be executed without network access.| false| '$(params.hermetic)'|
73
75
|HTTP_PROXY| HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.| ""| '$(tasks.init.results.http-proxy)'|
74
76
|ICM_KEEP_COMPAT_LOCATION| Whether to keep compatibility location at /root/buildinfo/ for ICM injection| true||
@@ -288,6 +290,7 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
288
290
### buildah-oci-ta:0.10 task results
289
291
|name|description|used in params (taskname:taskrefversion:taskparam)
290
292
|---|---|---|
293
+
|IMAGES| Newline-separated image manifest references. In dual mode lists the gzip and zstd child manifest references for Chains provenance; otherwise the single manifest reference.||
291
294
|IMAGE_DIGEST| Digest of the image just built||
292
295
|IMAGE_REF| Image reference of the built image||
293
296
|IMAGE_URL| Image repository and tag where the built image was pushed| build-image-index:0.3:IMAGES|
Copy file name to clipboardExpand all lines: pipelines/docker-build/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,11 +63,13 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
63
63
|BUILD_ARGS_FILE| Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file| ""| '$(params.build-args-file)'|
64
64
|BUILD_TIMESTAMP| Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.| ""||
65
65
|COMMIT_SHA| The image is built from this commit.| ""| '$(tasks.clone-repository.results.commit)'|
66
+
|COMPRESSION_FORMAT| Compression format: gzip (default), zstd-chunked, or dual. In dual mode both gzip and zstd:chunked variants are bundled in a per-arch OCI index (gzip first). dual requires BUILDAH_FORMAT=oci.| gzip||
66
67
|CONTEXT| Path to the directory to use as context.| .| '$(params.path-context)'|
67
68
|CONTEXTUALIZE_SBOM| Determines if SBOM will be contextualized.| true||
68
69
|DOCKERFILE| Path to the Dockerfile to build.| ./Dockerfile| '$(params.dockerfile)'|
69
70
|ENTITLEMENT_SECRET| Name of secret which contains the entitlement certificates| etc-pki-entitlement||
70
71
|ENV_VARS| Array of --env values ("env=value" strings)|[]||
72
+
|FORCE_COMPRESSION| Recompress all layers including base image layers, not just layers created by this build. Only applies to zstd-chunked and dual modes.| false||
71
73
|HERMETIC| Determines if build will be executed without network access.| false| '$(params.hermetic)'|
72
74
|HTTP_PROXY| HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.| ""| '$(tasks.init.results.http-proxy)'|
73
75
|ICM_KEEP_COMPAT_LOCATION| Whether to keep compatibility location at /root/buildinfo/ for ICM injection| true||
@@ -272,6 +274,7 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
272
274
### buildah:0.10 task results
273
275
|name|description|used in params (taskname:taskrefversion:taskparam)
274
276
|---|---|---|
277
+
|IMAGES| Newline-separated image manifest references. In dual mode lists the gzip and zstd child manifest references for Chains provenance; otherwise the single manifest reference.||
275
278
|IMAGE_DIGEST| Digest of the image just built||
276
279
|IMAGE_REF| Image reference of the built image||
277
280
|IMAGE_URL| Image repository and tag where the built image was pushed| build-image-index:0.3:IMAGES|
Copy file name to clipboardExpand all lines: pipelines/fbc-builder/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,11 +63,13 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
63
63
|BUILD_TIMESTAMP| Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.| ""||
64
64
|CACHI2_ARTIFACT| The Trusted Artifact URI pointing to the artifact with the prefetched dependencies.| ""| '$(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)'|
65
65
|COMMIT_SHA| The image is built from this commit.| ""| '$(tasks.clone-repository.results.commit)'|
66
+
|COMPRESSION_FORMAT| Compression format: gzip (default), zstd-chunked, or dual. In dual mode both gzip and zstd:chunked variants are bundled in a per-arch OCI index (gzip first). dual requires BUILDAH_FORMAT=oci.| gzip||
66
67
|CONTEXT| Path to the directory to use as context.| .| '$(params.path-context)'|
67
68
|CONTEXTUALIZE_SBOM| Determines if SBOM will be contextualized.| true||
68
69
|DOCKERFILE| Path to the Dockerfile to build.| ./Dockerfile| '$(params.dockerfile)'|
69
70
|ENTITLEMENT_SECRET| Name of secret which contains the entitlement certificates| etc-pki-entitlement||
70
71
|ENV_VARS| Array of --env values ("env=value" strings)|[]||
72
+
|FORCE_COMPRESSION| Recompress all layers including base image layers, not just layers created by this build. Only applies to zstd-chunked and dual modes.| false||
71
73
|HERMETIC| Determines if build will be executed without network access.| false| '$(params.hermetic)'|
72
74
|HTTP_PROXY| HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.| ""| '$(tasks.init.results.http-proxy)'|
73
75
|ICM_KEEP_COMPAT_LOCATION| Whether to keep compatibility location at /root/buildinfo/ for ICM injection| true||
@@ -216,6 +218,7 @@ This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/reposito
216
218
### buildah-remote-oci-ta:0.10 task results
217
219
|name|description|used in params (taskname:taskrefversion:taskparam)
218
220
|---|---|---|
221
+
|IMAGES| Newline-separated image manifest references. In dual mode lists the gzip and zstd child manifest references for Chains provenance; otherwise the single manifest reference.||
219
222
|IMAGE_DIGEST| Digest of the image just built||
220
223
|IMAGE_REF| Image reference of the built image| build-image-index:0.3:IMAGES|
221
224
|IMAGE_URL| Image repository and tag where the built image was pushed||
Copy file name to clipboardExpand all lines: task/buildah-oci-ta-min/0.10/README.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -20,11 +20,13 @@ When prefetch-dependencies task is activated it is using its artifacts to run bu
20
20
|BUILD_TIMESTAMP|Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.|""|false|
21
21
|CACHI2_ARTIFACT|The Trusted Artifact URI pointing to the artifact with the prefetched dependencies.|""|false|
22
22
|COMMIT_SHA|The image is built from this commit.|""|false|
23
+
|COMPRESSION_FORMAT|Compression format: gzip (default), zstd-chunked, or dual. In dual mode both gzip and zstd:chunked variants are bundled in a per-arch OCI index (gzip first). dual requires BUILDAH_FORMAT=oci.|gzip|false|
23
24
|CONTEXT|Path to the directory to use as context.|.|false|
24
25
|CONTEXTUALIZE_SBOM|Determines if SBOM will be contextualized.|true|false|
25
26
|DOCKERFILE|Path to the Dockerfile to build.|./Dockerfile|false|
26
27
|ENTITLEMENT_SECRET|Name of secret which contains the entitlement certificates|etc-pki-entitlement|false|
27
28
|ENV_VARS|Array of --env values ("env=value" strings)|[]|false|
29
+
|FORCE_COMPRESSION|Recompress all layers including base image layers, not just layers created by this build. Only applies to zstd-chunked and dual modes.|false|false|
28
30
|HERMETIC|Determines if build will be executed without network access.|false|false|
29
31
|HTTP_PROXY|HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.|""|false|
30
32
|ICM_KEEP_COMPAT_LOCATION|Whether to keep compatibility location at /root/buildinfo/ for ICM injection|true|false|
@@ -64,6 +66,7 @@ When prefetch-dependencies task is activated it is using its artifacts to run bu
64
66
## Results
65
67
|name|description|
66
68
|---|---|
69
+
|IMAGES|Newline-separated image manifest references. In dual mode lists the gzip and zstd child manifest references for Chains provenance; otherwise the single manifest reference.|
67
70
|IMAGE_DIGEST|Digest of the image just built|
68
71
|IMAGE_REF|Image reference of the built image|
69
72
|IMAGE_URL|Image repository and tag where the built image was pushed|
0 commit comments