Skip to content

Commit 85b5f3a

Browse files
committed
Adding multi arch build to pipeline
1 parent 3c5da60 commit 85b5f3a

File tree

2 files changed

+102
-93
lines changed

2 files changed

+102
-93
lines changed

.tekton/pipeline-ref.yaml

Lines changed: 99 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ spec:
77
- name: show-sbom
88
params:
99
- name: IMAGE_URL
10-
value: $(tasks.build-container.results.IMAGE_URL)
10+
value: $(tasks.build-image-index.results.IMAGE_URL)
1111
taskRef:
1212
params:
1313
- name: name
@@ -17,28 +17,6 @@ spec:
1717
- name: kind
1818
value: task
1919
resolver: bundles
20-
- name: show-summary
21-
params:
22-
- name: pipelinerun-name
23-
value: $(context.pipelineRun.name)
24-
- name: git-url
25-
value: $(tasks.clone-repository.results.url)?rev=$(tasks.clone-repository.results.commit)
26-
- name: image-url
27-
value: $(params.output-image)
28-
- name: build-task-status
29-
value: $(tasks.build-container.status)
30-
taskRef:
31-
params:
32-
- name: name
33-
value: summary
34-
- name: bundle
35-
value: quay.io/konflux-ci/tekton-catalog/task-summary:0.2@sha256:d97c04ab42f277b1103eb6f3a053b247849f4f5b3237ea302a8ecada3b24e15b
36-
- name: kind
37-
value: task
38-
resolver: bundles
39-
workspaces:
40-
- name: workspace
41-
workspace: workspace
4220
params:
4321
- description: Source Repository URL
4422
name: git-url
@@ -96,6 +74,10 @@ spec:
9674
description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
9775
name: build-args-file
9876
type: string
77+
- default: ["linux/x86_64", "linux/arm64", "linux/ppc64le", "linux/s390x"]
78+
description: List of platforms to build the container images on. The available set of values is determined by the configuration of the multi-platform-controller.
79+
name: build-platforms
80+
type: array
9981
results:
10082
- description: ""
10183
name: IMAGE_URL
@@ -136,14 +118,18 @@ spec:
136118
value: $(params.git-url)
137119
- name: revision
138120
value: $(params.revision)
121+
- name: ociStorage
122+
value: $(params.output-image).git
123+
- name: ociArtifactExpiresAfter
124+
value: $(params.image-expires-after)
139125
runAfter:
140126
- init
141127
taskRef:
142128
params:
143129
- name: name
144-
value: git-clone
130+
value: git-clone-oci-ta
145131
- name: bundle
146-
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:0bb1be8363557e8e07ec34a3c5daaaaa23c9d533f0bb12f00dc604d00de50814
132+
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.1@sha256:8e1e861d9564caea3f9ce8d1c62789f5622b5a7051209decc9ecf10b6f54aa71
147133
- name: kind
148134
value: task
149135
resolver: bundles
@@ -153,39 +139,26 @@ spec:
153139
values:
154140
- "true"
155141
workspaces:
156-
- name: output
157-
workspace: workspace
158142
- name: basic-auth
159143
workspace: git-auth
160-
- name: update-downstream
161-
taskSpec:
162-
steps:
163-
- image: ubuntu
164-
script: |
165-
#!/usr/bin/env bash
166-
echo "Starting update-downstream task"
167-
cd workspace/source/source
168-
COMMIT={{revision}} ./hack/update-build.sh
169-
runAfter:
170-
- clone-repository
171-
workspaces:
172-
- name: source
173-
workspace: workspace
174-
- name: git-basic-auth
175-
workspace: git-auth
176144
- name: prefetch-dependencies
177145
params:
178146
- name: input
179147
value: $(params.prefetch-input)
148+
- name: SOURCE_ARTIFACT
149+
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
150+
- name: ociStorage
151+
value: $(params.output-image).prefetch
152+
- name: ociArtifactExpiresAfter
153+
value: $(params.image-expires-after)
180154
runAfter:
181155
- clone-repository
182-
- update-downstream
183156
taskRef:
184157
params:
185158
- name: name
186-
value: prefetch-dependencies
159+
value: prefetch-dependencies-oci-ta
187160
- name: bundle
188-
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.1@sha256:fe7234e3824d1e65d6a7aac352e7a6bbce623d90d8d7da9aceeee108ad2c61be
161+
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.1@sha256:8e2a8de8e8a55a8e657922d5f8303fefa065f7ec2f8a49a666bf749540d63679
189162
- name: kind
190163
value: task
191164
resolver: bundles
@@ -195,13 +168,16 @@ spec:
195168
values:
196169
- ""
197170
workspaces:
198-
- name: source
199-
workspace: workspace
200171
- name: git-basic-auth
201172
workspace: git-auth
202173
- name: netrc
203174
workspace: netrc
204175
- name: build-container
176+
matrix:
177+
params:
178+
- name: PLATFORM
179+
value:
180+
- $(params.build-platforms)
205181
params:
206182
- name: IMAGE
207183
value: $(params.output-image)
@@ -220,16 +196,23 @@ spec:
220196
- name: BUILD_ARGS
221197
value:
222198
- $(params.build-args[*])
199+
- "COMMIT=tasks.clone-repository.results.commit"
223200
- name: BUILD_ARGS_FILE
224201
value: $(params.build-args-file)
202+
- name: SOURCE_ARTIFACT
203+
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
204+
- name: CACHI2_ARTIFACT
205+
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
206+
- name: IMAGE_APPEND_PLATFORM
207+
value: "true"
225208
runAfter:
226209
- prefetch-dependencies
227210
taskRef:
228211
params:
229212
- name: name
230-
value: buildah
213+
value: buildah-remote-oci-ta
231214
- name: bundle
232-
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.2@sha256:71d3bb81d1c7c9f99946b5f1d4844664f2036636fd114cf5232db644bc088981
215+
value: quay.io/konflux-ci/tekton-catalog/task-buildah-remote-oci-ta:0.2@sha256:8e8cd24b52a74a75f2cefe67a1047d2c683f84aeb1211862843330bf4653edd3
233216
- name: kind
234217
value: task
235218
resolver: bundles
@@ -238,21 +221,52 @@ spec:
238221
operator: in
239222
values:
240223
- "true"
241-
workspaces:
242-
- name: source
243-
workspace: workspace
224+
- name: build-image-index
225+
params:
226+
- name: IMAGE
227+
value: $(params.output-image)
228+
- name: COMMIT_SHA
229+
value: $(tasks.clone-repository.results.commit)
230+
- name: IMAGE_EXPIRES_AFTER
231+
value: $(params.image-expires-after)
232+
- name: ALWAYS_BUILD_INDEX
233+
value: "true"
234+
- name: IMAGES
235+
value:
236+
- $(tasks.build-container.results.IMAGE_REF[*])
237+
runAfter:
238+
- build-container
239+
taskRef:
240+
params:
241+
- name: name
242+
value: build-image-index
243+
- name: bundle
244+
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:e4871851566d8b496966b37bcb8c5ce9748a52487f116373d96c6cd28ef684c6
245+
- name: kind
246+
value: task
247+
resolver: bundles
248+
when:
249+
- input: $(tasks.init.results.build)
250+
operator: in
251+
values:
252+
- "true"
253+
244254
- name: build-source-image
245255
params:
246256
- name: BINARY_IMAGE
247257
value: $(params.output-image)
258+
- name: SOURCE_ARTIFACT
259+
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
260+
- name: CACHI2_ARTIFACT
261+
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
248262
runAfter:
249-
- build-container
263+
- build-image-index
250264
taskRef:
251265
params:
252266
- name: name
253-
value: source-build
267+
value: source-build-oci-ta
254268
- name: bundle
255-
value: quay.io/konflux-ci/tekton-catalog/task-source-build:0.1@sha256:21cb5ebaff7a9216903cf78933dc4ec4dd6283a52636b16590a5f52ceb278269
269+
value: quay.io/konflux-ci/tekton-catalog/task-source-build-oci-ta:0.1@sha256:d1fd616413d45bb6af0532352bfa8692c5ca409127e5a2dd4f1bc52aef27d1dc
256270
- name: kind
257271
value: task
258272
resolver: bundles
@@ -265,17 +279,14 @@ spec:
265279
operator: in
266280
values:
267281
- "true"
268-
workspaces:
269-
- name: workspace
270-
workspace: workspace
271282
- name: deprecated-base-image-check
272283
params:
273284
- name: IMAGE_URL
274-
value: $(tasks.build-container.results.IMAGE_URL)
285+
value: $(tasks.build-image-index.results.IMAGE_URL)
275286
- name: IMAGE_DIGEST
276-
value: $(tasks.build-container.results.IMAGE_DIGEST)
287+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
277288
runAfter:
278-
- build-container
289+
- build-image-index
279290
taskRef:
280291
params:
281292
- name: name
@@ -293,11 +304,11 @@ spec:
293304
- name: clair-scan
294305
params:
295306
- name: image-digest
296-
value: $(tasks.build-container.results.IMAGE_DIGEST)
307+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
297308
- name: image-url
298-
value: $(tasks.build-container.results.IMAGE_URL)
309+
value: $(tasks.build-image-index.results.IMAGE_URL)
299310
runAfter:
300-
- build-container
311+
- build-image-index
301312
taskRef:
302313
params:
303314
- name: name
@@ -315,9 +326,9 @@ spec:
315326
- name: ecosystem-cert-preflight-checks
316327
params:
317328
- name: image-url
318-
value: $(tasks.build-container.results.IMAGE_URL)
329+
value: $(tasks.build-image-index.results.IMAGE_URL)
319330
runAfter:
320-
- build-container
331+
- build-image-index
321332
taskRef:
322333
params:
323334
- name: name
@@ -335,17 +346,21 @@ spec:
335346
- name: sast-snyk-check
336347
params:
337348
- name: image-digest
338-
value: $(tasks.build-container.results.IMAGE_DIGEST)
349+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
339350
- name: image-url
340-
value: $(tasks.build-container.results.IMAGE_URL)
351+
value: $(tasks.build-image-index.results.IMAGE_URL)
352+
- name: SOURCE_ARTIFACT
353+
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
354+
- name: CACHI2_ARTIFACT
355+
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
341356
runAfter:
342-
- build-container
357+
- build-image-index
343358
taskRef:
344359
params:
345360
- name: name
346-
value: sast-snyk-check
361+
value: sast-snyk-check-oci-ta
347362
- name: bundle
348-
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check:0.2@sha256:06d9b14bed7c7f50593a289f723b074e3c0d6b025f74e61692224425713ece7e
363+
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check-oci-ta:0.2@sha256:ad02dd316d68725490f45f23d2b8acf042bf0a80f7a22c28e0cadc6181fc10f1
349364
- name: kind
350365
value: task
351366
resolver: bundles
@@ -354,17 +369,14 @@ spec:
354369
operator: in
355370
values:
356371
- "false"
357-
workspaces:
358-
- name: workspace
359-
workspace: workspace
360372
- name: clamav-scan
361373
params:
362374
- name: image-digest
363-
value: $(tasks.build-container.results.IMAGE_DIGEST)
375+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
364376
- name: image-url
365-
value: $(tasks.build-container.results.IMAGE_URL)
377+
value: $(tasks.build-image-index.results.IMAGE_URL)
366378
runAfter:
367-
- build-container
379+
- build-image-index
368380
taskRef:
369381
params:
370382
- name: name
@@ -382,9 +394,9 @@ spec:
382394
- name: apply-tags
383395
params:
384396
- name: IMAGE
385-
value: $(tasks.build-container.results.IMAGE_URL)
397+
value: $(tasks.build-image-index.results.IMAGE_URL)
386398
runAfter:
387-
- build-container
399+
- build-image-index
388400
taskRef:
389401
params:
390402
- name: name
@@ -397,29 +409,27 @@ spec:
397409
- name: push-dockerfile
398410
params:
399411
- name: IMAGE
400-
value: $(tasks.build-container.results.IMAGE_URL)
412+
value: $(tasks.build-image-index.results.IMAGE_URL)
401413
- name: IMAGE_DIGEST
402-
value: $(tasks.build-container.results.IMAGE_DIGEST)
414+
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
403415
- name: DOCKERFILE
404416
value: $(params.dockerfile)
405417
- name: CONTEXT
406418
value: $(params.path-context)
419+
- name: SOURCE_ARTIFACT
420+
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
407421
runAfter:
408-
- build-container
422+
- build-image-index
409423
taskRef:
410424
params:
411425
- name: name
412-
value: push-dockerfile
426+
value: push-dockerfile-oci-ta
413427
- name: bundle
414-
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.1@sha256:0d2b6d31dc8bc02c5493d7d28a163bb6c867be5f86c3a82388b0d5c69e18d352
428+
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile-oci-ta:0.1@sha256:fc109c347c5355a2a563ea782ff12aa82afc967c456082bf978d99bd378349b4
415429
- name: kind
416430
value: task
417431
resolver: bundles
418-
workspaces:
419-
- name: workspace
420-
workspace: workspace
421432
workspaces:
422-
- name: workspace
423433
- name: git-auth
424434
optional: true
425435
- name: netrc

contrib/docker/Dockerfile.downstream

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
ARG TARGETARCH
2-
FROM brew.registry.redhat.io\/rh-osbs\/openshift-golang-builder:v1.22.5-202407301806.g4c8b32d.el9 as builder
2+
ARG COMMIT
3+
FROM brew.registry.redhat.io/rh-osbs/openshift-golang-builder:v1.22.5-202407301806.g4c8b32d.el9 as builder
34

45
ARG TARGETARCH=amd64
56
WORKDIR /app
@@ -22,11 +23,8 @@ RUN GOARCH=$TARGETARCH make build_code
2223
FROM --platform=linux/$TARGETARCH registry.access.redhat.com/ubi9/ubi-minimal:9.4
2324

2425
COPY --from=builder /app/flowlogs-pipeline /app/
25-
COPY --from=builder /app/confgenerator /app/
2626

2727
# expose ports
28-
EXPOSE 2055
29-
3028
ENTRYPOINT ["/app/flowlogs-pipeline"]
3129

3230
LABEL com.redhat.component="network-observability-flowlogs-pipeline-container"
@@ -37,4 +35,5 @@ LABEL summary="Network Observability Flow-Logs Pipeline"
3735
LABEL maintainer="[email protected]"
3836
LABEL io.openshift.tags="network-observability-flowlogs-pipeline"
3937
LABEL upstream-vcs-type="git"
38+
LABEL upstream-vcs-type="$COMMIT"
4039
LABEL description="Flow-Logs Pipeline (a.k.a. FLP) is an observability tool that consumes logs from various inputs, transform them and export logs to loki and / or time series metrics to prometheus."

0 commit comments

Comments
 (0)