|
11 | 11 | description: |
|
12 | 12 | This pipeline is ideal for building multi-arch container images from a Containerfile while maintaining trust after pipeline customization.
|
13 | 13 |
|
14 |
| - _Uses `buildah` to create a multi-platform container image leveraging [trusted artifacts](https://konflux-ci.dev/architecture/ADR/0036-trusted-artifacts.html). It also optionally creates a source image and runs some build-time tests. This pipeline requires that the [multi platform controller](https://github.com/konflux-ci/multi-platform-controller) is deployed and configured on your Konflux instance. Information is shared between tasks using OCI artifacts instead of PVCs. EC will pass the [`trusted_task.trusted`](https://enterprisecontract.dev/docs/ec-policies/release_policy.html#trusted_task__trusted) policy as long as all data used to build the artifact is generated from trusted tasks. |
| 14 | + _Uses `buildah` to create a multi-platform container image leveraging [trusted artifacts](https://konflux-ci.dev/architecture/ADR/0036-trusted-artifacts.html). It also optionally creates a source image and runs some build-time tests. This pipeline requires that the [multi platform controller](https://github.com/konflux-ci/multi-platform-controller) is deployed and configured on your Konflux instance. Information is shared between tasks using OCI artifacts instead of PVCs. EC will pass the [`trusted_task.trusted`](https://conforma.dev/docs/policy/packages/release_trusted_task.html#trusted_task__trusted) policy as long as all data used to build the artifact is generated from trusted tasks. |
15 | 15 | This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/repository/konflux-ci/tekton-catalog/pipeline-docker-build-multi-platform-oci-ta?tab=tags)_
|
16 | 16 | finally:
|
17 | 17 | - name: show-sbom
|
|
28 | 28 | value: task
|
29 | 29 | resolver: bundles
|
30 | 30 | params:
|
| 31 | + - default: "false" |
| 32 | + description: Add built image into an OCI image index |
| 33 | + name: build-image-index |
| 34 | + type: string |
31 | 35 | - default: --all-projects --org=3e1a4cca-ebfb-495f-b64c-3cc960d566b4 --exclude=test*,vendor,third_party
|
32 | 36 | description: Append arguments to Snyk code command.
|
33 | 37 | name: snyk-args
|
|
84 | 88 | description: Image tag expiration time, time values could be something like 1h,
|
85 | 89 | 2d, 3w for hours, days, and weeks, respectively.
|
86 | 90 | name: image-expires-after
|
87 |
| - - default: "true" |
88 |
| - description: Add built image into an OCI image index |
89 |
| - name: build-image-index |
90 | 91 | type: string
|
91 | 92 | - default: []
|
92 | 93 | description: Array of --build-arg values ("arg=value" strings) for buildah
|
@@ -121,6 +122,56 @@ spec:
|
121 | 122 | name: CHAINS-GIT_COMMIT
|
122 | 123 | value: $(tasks.clone-repository.results.commit)
|
123 | 124 | tasks:
|
| 125 | + - matrix: |
| 126 | + params: |
| 127 | + - name: PLATFORM |
| 128 | + value: |
| 129 | + - $(params.build-platforms) |
| 130 | + name: build-images |
| 131 | + params: |
| 132 | + - name: IMAGE_APPEND_PLATFORM |
| 133 | + value: "false" |
| 134 | + - name: IMAGE |
| 135 | + value: $(params.output-image) |
| 136 | + - name: DOCKERFILE |
| 137 | + value: $(params.dockerfile) |
| 138 | + - name: CONTEXT |
| 139 | + value: $(params.path-context) |
| 140 | + - name: HERMETIC |
| 141 | + value: $(params.hermetic) |
| 142 | + - name: PREFETCH_INPUT |
| 143 | + value: $(params.prefetch-input) |
| 144 | + - name: IMAGE_EXPIRES_AFTER |
| 145 | + value: $(params.image-expires-after) |
| 146 | + - name: COMMIT_SHA |
| 147 | + value: $(tasks.clone-repository.results.commit) |
| 148 | + - name: BUILD_ARGS |
| 149 | + value: |
| 150 | + - $(params.build-args[*]) |
| 151 | + - name: BUILD_ARGS_FILE |
| 152 | + value: $(params.build-args-file) |
| 153 | + - name: PRIVILEGED_NESTED |
| 154 | + value: $(params.privileged-nested) |
| 155 | + - name: SOURCE_ARTIFACT |
| 156 | + value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT) |
| 157 | + - name: CACHI2_ARTIFACT |
| 158 | + value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT) |
| 159 | + runAfter: |
| 160 | + - prefetch-dependencies |
| 161 | + taskRef: |
| 162 | + params: |
| 163 | + - name: name |
| 164 | + value: buildah-remote-oci-ta |
| 165 | + - name: bundle |
| 166 | + value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.4@sha256:3141de71b1b98725e37c15c4287b8aa10008b755403a6d2518b85c6f19194fcc |
| 167 | + - name: kind |
| 168 | + value: task |
| 169 | + resolver: bundles |
| 170 | + when: |
| 171 | + - input: $(tasks.init.results.build) |
| 172 | + operator: in |
| 173 | + values: |
| 174 | + - "true" |
124 | 175 | - name: sast-snyk-check
|
125 | 176 | params:
|
126 | 177 | - name: ARGS
|
@@ -181,8 +232,10 @@ spec:
|
181 | 232 | params:
|
182 | 233 | - name: ADDITIONAL_TAGS
|
183 | 234 | value: $(params.additional-tags[*])
|
184 |
| - - name: IMAGE |
| 235 | + - name: IMAGE_URL |
185 | 236 | value: $(tasks.build-image-index.results.IMAGE_URL)
|
| 237 | + - name: IMAGE_DIGEST |
| 238 | + value: $(tasks.build-image-index.results.IMAGE_DIGEST) |
186 | 239 | runAfter:
|
187 | 240 | - build-image-index
|
188 | 241 | taskRef:
|
@@ -240,56 +293,6 @@ spec:
|
240 | 293 | workspaces:
|
241 | 294 | - name: basic-auth
|
242 | 295 | workspace: git-auth
|
243 |
| - - matrix: |
244 |
| - params: |
245 |
| - - name: PLATFORM |
246 |
| - value: |
247 |
| - - $(params.build-platforms) |
248 |
| - name: build-images |
249 |
| - params: |
250 |
| - - name: IMAGE |
251 |
| - value: $(params.output-image) |
252 |
| - - name: DOCKERFILE |
253 |
| - value: $(params.dockerfile) |
254 |
| - - name: CONTEXT |
255 |
| - value: $(params.path-context) |
256 |
| - - name: HERMETIC |
257 |
| - value: $(params.hermetic) |
258 |
| - - name: PREFETCH_INPUT |
259 |
| - value: $(params.prefetch-input) |
260 |
| - - name: IMAGE_EXPIRES_AFTER |
261 |
| - value: $(params.image-expires-after) |
262 |
| - - name: COMMIT_SHA |
263 |
| - value: $(tasks.clone-repository.results.commit) |
264 |
| - - name: BUILD_ARGS |
265 |
| - value: |
266 |
| - - $(params.build-args[*]) |
267 |
| - - name: BUILD_ARGS_FILE |
268 |
| - value: $(params.build-args-file) |
269 |
| - - name: PRIVILEGED_NESTED |
270 |
| - value: $(params.privileged-nested) |
271 |
| - - name: SOURCE_ARTIFACT |
272 |
| - value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT) |
273 |
| - - name: CACHI2_ARTIFACT |
274 |
| - value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT) |
275 |
| - - name: IMAGE_APPEND_PLATFORM |
276 |
| - value: "true" |
277 |
| - runAfter: |
278 |
| - - prefetch-dependencies |
279 |
| - taskRef: |
280 |
| - params: |
281 |
| - - name: name |
282 |
| - value: buildah-remote-oci-ta |
283 |
| - - name: bundle |
284 |
| - value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.4@sha256:3141de71b1b98725e37c15c4287b8aa10008b755403a6d2518b85c6f19194fcc |
285 |
| - - name: kind |
286 |
| - value: task |
287 |
| - resolver: bundles |
288 |
| - when: |
289 |
| - - input: $(tasks.init.results.build) |
290 |
| - operator: in |
291 |
| - values: |
292 |
| - - "true" |
293 | 296 | - name: build-image-index
|
294 | 297 | params:
|
295 | 298 | - name: IMAGE
|
@@ -322,7 +325,9 @@ spec:
|
322 | 325 | - name: build-source-image
|
323 | 326 | params:
|
324 | 327 | - name: BINARY_IMAGE
|
325 |
| - value: $(params.output-image) |
| 328 | + value: $(tasks.build-image-index.results.IMAGE_URL) |
| 329 | + - name: BINARY_IMAGE_DIGEST |
| 330 | + value: $(tasks.build-image-index.results.IMAGE_DIGEST) |
326 | 331 | - name: SOURCE_ARTIFACT
|
327 | 332 | value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
|
328 | 333 | - name: CACHI2_ARTIFACT
|
@@ -501,7 +506,7 @@ spec:
|
501 | 506 | - name: name
|
502 | 507 | value: rpms-signature-scan
|
503 | 508 | - name: bundle
|
504 |
| - value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:d01508e7a0df9059af2ef455e3e81588a70e0b24cd4a5def35af3cc1537bf84a |
| 509 | + value: quay.io/konflux-ci/konflux-vanguard/task-rpms-signature-scan:0.2@sha256:7d1c087d7d33dd97effb3b4c9f3788e4c3138da2032040d69da6929e9a3aaceb |
505 | 510 | - name: kind
|
506 | 511 | value: task
|
507 | 512 | resolver: bundles
|
|
0 commit comments