552 lines
17 KiB
YAML
552 lines
17 KiB
YAML
apiVersion: tekton.dev/v1
|
|
kind: PipelineRun
|
|
metadata:
|
|
annotations:
|
|
build.appstudio.openshift.io/repo: https://github.com/osbuild/image-builder-frontend?rev={{revision}}
|
|
build.appstudio.redhat.com/commit_sha: '{{revision}}'
|
|
build.appstudio.redhat.com/target_branch: '{{target_branch}}'
|
|
pipelinesascode.tekton.dev/max-keep-runs: "3"
|
|
pipelinesascode.tekton.dev/on-cel-expression: event == "push" && target_branch
|
|
== "main"
|
|
creationTimestamp: null
|
|
labels:
|
|
appstudio.openshift.io/application: insights-image-builder
|
|
appstudio.openshift.io/component: image-builder-frontend
|
|
pipelines.appstudio.openshift.io/type: build
|
|
name: image-builder-frontend-on-push
|
|
namespace: insights-management-tenant
|
|
spec:
|
|
params:
|
|
- name: git-url
|
|
value: '{{source_url}}'
|
|
- name: revision
|
|
value: '{{revision}}'
|
|
- name: output-image
|
|
value: quay.io/redhat-user-workloads/insights-management-tenant/insights-image-builder/image-builder-frontend:{{revision}}
|
|
- name: dockerfile
|
|
value: build-tools/Dockerfile
|
|
- name: path-context
|
|
value: .
|
|
pipelineSpec:
|
|
description: |
|
|
This pipeline is ideal for building container images from a Containerfile while reducing network traffic.
|
|
|
|
_Uses `buildah` to create a container image. It also optionally creates a source image and runs some build-time tests. EC will flag a violation for [`trusted_task.trusted`](https://enterprisecontract.dev/docs/ec-policies/release_policy.html#trusted_task__trusted) if any tasks are added to the pipeline.
|
|
This pipeline is pushed as a Tekton bundle to [quay.io](https://quay.io/repository/konflux-ci/tekton-catalog/pipeline-docker-build?tab=tags)_
|
|
finally:
|
|
- name: show-sbom
|
|
params:
|
|
- name: IMAGE_URL
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: show-sbom
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-show-sbom:0.1@sha256:04f15cbce548e1db7770eee3f155ccb2cc0140a6c371dc67e9a34d83673ea0c0
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
- name: show-summary
|
|
params:
|
|
- name: pipelinerun-name
|
|
value: $(context.pipelineRun.name)
|
|
- name: git-url
|
|
value: $(tasks.clone-repository.results.url)?rev=$(tasks.clone-repository.results.commit)
|
|
- name: image-url
|
|
value: $(params.output-image)
|
|
- name: build-task-status
|
|
value: $(tasks.build-image-index.status)
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: summary
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-summary:0.2@sha256:870d9a04d9784840a90b7bf6817cd0d0c4edfcda04b1ba1868cae625a3c3bfcc
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
params:
|
|
- description: Source Repository URL
|
|
name: git-url
|
|
type: string
|
|
- default: ""
|
|
description: Revision of the Source Repository
|
|
name: revision
|
|
type: string
|
|
- description: Fully Qualified Output Image
|
|
name: output-image
|
|
type: string
|
|
- default: .
|
|
description: Path to the source code of an application's component from where
|
|
to build image.
|
|
name: path-context
|
|
type: string
|
|
- default: Dockerfile
|
|
description: Path to the Dockerfile inside the context specified by parameter
|
|
path-context
|
|
name: dockerfile
|
|
type: string
|
|
- default: "false"
|
|
description: Force rebuild image
|
|
name: rebuild
|
|
type: string
|
|
- default: "false"
|
|
description: Skip checks against built image
|
|
name: skip-checks
|
|
type: string
|
|
- default: "false"
|
|
description: Execute the build with network isolation
|
|
name: hermetic
|
|
type: string
|
|
- default: ""
|
|
description: Build dependencies to be prefetched by Cachi2
|
|
name: prefetch-input
|
|
type: string
|
|
- default: ""
|
|
description: Image tag expiration time, time values could be something like
|
|
1h, 2d, 3w for hours, days, and weeks, respectively.
|
|
name: image-expires-after
|
|
- default: "false"
|
|
description: Build a source image.
|
|
name: build-source-image
|
|
type: string
|
|
- default: "false"
|
|
description: Add built image into an OCI image index
|
|
name: build-image-index
|
|
type: string
|
|
- default: []
|
|
description: Array of --build-arg values ("arg=value" strings) for buildah
|
|
name: build-args
|
|
type: array
|
|
- default: ""
|
|
description: Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file
|
|
name: build-args-file
|
|
type: string
|
|
results:
|
|
- description: ""
|
|
name: IMAGE_URL
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
- description: ""
|
|
name: IMAGE_DIGEST
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- description: ""
|
|
name: CHAINS-GIT_URL
|
|
value: $(tasks.clone-repository.results.url)
|
|
- description: ""
|
|
name: CHAINS-GIT_COMMIT
|
|
value: $(tasks.clone-repository.results.commit)
|
|
tasks:
|
|
- name: init
|
|
params:
|
|
- name: image-url
|
|
value: $(params.output-image)
|
|
- name: rebuild
|
|
value: $(params.rebuild)
|
|
- name: skip-checks
|
|
value: $(params.skip-checks)
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: init
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-init:0.2@sha256:38660e69f8a8b8bedc0264964d8811e1faaaaaa03a9fc908e811bf8f705f393a
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
- name: clone-repository
|
|
params:
|
|
- name: url
|
|
value: $(params.git-url)
|
|
- name: revision
|
|
value: $(params.revision)
|
|
runAfter:
|
|
- init
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: git-clone
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-git-clone:0.1@sha256:3ced9a6b9d8520773d3ffbf062190515a362ecda11e72f56e38e4dd980294b57
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: output
|
|
workspace: workspace
|
|
- name: basic-auth
|
|
workspace: git-auth
|
|
- name: prefetch-dependencies
|
|
params:
|
|
- name: input
|
|
value: $(params.prefetch-input)
|
|
runAfter:
|
|
- clone-repository
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: prefetch-dependencies
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.2@sha256:6a4e6606ac3fa18ca6980f87a135526042833d4b7aaec2e1723272aa70a1d4c1
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.prefetch-input)
|
|
operator: notin
|
|
values:
|
|
- ""
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace
|
|
- name: git-basic-auth
|
|
workspace: git-auth
|
|
- name: netrc
|
|
workspace: netrc
|
|
- name: build-container
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)
|
|
- name: DOCKERFILE
|
|
value: $(params.dockerfile)
|
|
- name: CONTEXT
|
|
value: $(params.path-context)
|
|
- name: HERMETIC
|
|
value: $(params.hermetic)
|
|
- name: PREFETCH_INPUT
|
|
value: $(params.prefetch-input)
|
|
- name: IMAGE_EXPIRES_AFTER
|
|
value: $(params.image-expires-after)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: BUILD_ARGS
|
|
value:
|
|
- $(params.build-args[*])
|
|
- name: BUILD_ARGS_FILE
|
|
value: $(params.build-args-file)
|
|
runAfter:
|
|
- prefetch-dependencies
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: buildah
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-buildah:0.4@sha256:a16437e1b910d4a36728c94e5e6e79f542787bf0588ad4b5c9dd67cef446e233
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: source
|
|
workspace: workspace
|
|
- name: build-image-index
|
|
params:
|
|
- name: IMAGE
|
|
value: $(params.output-image)
|
|
- name: COMMIT_SHA
|
|
value: $(tasks.clone-repository.results.commit)
|
|
- name: IMAGE_EXPIRES_AFTER
|
|
value: $(params.image-expires-after)
|
|
- name: ALWAYS_BUILD_INDEX
|
|
value: $(params.build-image-index)
|
|
- name: IMAGES
|
|
value:
|
|
- $(tasks.build-container.results.IMAGE_URL)@$(tasks.build-container.results.IMAGE_DIGEST)
|
|
runAfter:
|
|
- build-container
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: build-image-index
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.1@sha256:4d5ab47286c1c7ac525786c9a4d0cce9fc73f22635cd623f1d2d12ebc76d83e5
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
- name: build-source-image
|
|
params:
|
|
- name: BINARY_IMAGE
|
|
value: $(params.output-image)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: source-build
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-source-build:0.2@sha256:56190463c3841dbbee69ab6d7a64da065710a745391ca147193f644bd079d273
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(tasks.init.results.build)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
- input: $(params.build-source-image)
|
|
operator: in
|
|
values:
|
|
- "true"
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
- name: sast-shell-check
|
|
params:
|
|
- name: image-digest
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: sast-shell-check
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check:0.1@sha256:1b3d68c33a92dfc3da3975581cae80c99c8d1995cab519ae98c6331b5677ded0
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
- name: sast-unicode-check
|
|
params:
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: sast-unicode-check
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check:0.1@sha256:b1a9af196a79baa75632ef494eb6db987f57e870d882d47f5b495e1441c01e3b
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
- name: deprecated-base-image-check
|
|
params:
|
|
- name: IMAGE_URL
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
- name: IMAGE_DIGEST
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: deprecated-image-check
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-deprecated-image-check:0.5@sha256:5d63b920b71192906fe4d6c4903f594e6f34c5edcff9d21714a08b5edcfbc667
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
- name: clair-scan
|
|
params:
|
|
- name: image-digest
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: clair-scan
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-clair-scan:0.2@sha256:712afcf63f3b5a97c371d37e637efbcc9e1c7ad158872339d00adc6413cd8851
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
- name: ecosystem-cert-preflight-checks
|
|
params:
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: ecosystem-cert-preflight-checks
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-ecosystem-cert-preflight-checks:0.2@sha256:00b13d06d17328e105b11619ee4db98b215ca6ac02314a4776aa5fc2a974f9c1
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
- name: sast-snyk-check
|
|
params:
|
|
- name: image-digest
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: sast-snyk-check
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-sast-snyk-check:0.3@sha256:e0c1675c9813618910115f04fd6b3a9ff32d1bd4e2b9c975f1112aa1eae0d149
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
- name: clamav-scan
|
|
params:
|
|
- name: image-digest
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: clamav-scan
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-clamav-scan:0.2@sha256:62c835adae22e36fce6684460b39206bc16752f1a4427cdbba4ee9afdd279670
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
- name: apply-tags
|
|
params:
|
|
- name: IMAGE
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: apply-tags
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.1@sha256:4973fa42a8f06238613447fbdb3d0c55eb2d718fd16f2f2591a577c29c1edb17
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
- name: push-dockerfile
|
|
params:
|
|
- name: IMAGE
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
- name: IMAGE_DIGEST
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- name: DOCKERFILE
|
|
value: $(params.dockerfile)
|
|
- name: CONTEXT
|
|
value: $(params.path-context)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: push-dockerfile
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.1@sha256:6124587dffebd15b2123f73ca25807c5e69ff349489b31d4af6ff46a5d0228d6
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
workspaces:
|
|
- name: workspace
|
|
workspace: workspace
|
|
- name: rpms-signature-scan
|
|
params:
|
|
- name: image-digest
|
|
value: $(tasks.build-image-index.results.IMAGE_DIGEST)
|
|
- name: image-url
|
|
value: $(tasks.build-image-index.results.IMAGE_URL)
|
|
runAfter:
|
|
- build-image-index
|
|
taskRef:
|
|
params:
|
|
- name: name
|
|
value: rpms-signature-scan
|
|
- name: bundle
|
|
value: quay.io/konflux-ci/tekton-catalog/task-rpms-signature-scan:0.2@sha256:998b5466417c324aea94d3e8b302c558aeb13f746976d89a4ff85f1b84a42c2b
|
|
- name: kind
|
|
value: task
|
|
resolver: bundles
|
|
when:
|
|
- input: $(params.skip-checks)
|
|
operator: in
|
|
values:
|
|
- "false"
|
|
workspaces:
|
|
- name: workspace
|
|
- name: git-auth
|
|
optional: true
|
|
- name: netrc
|
|
optional: true
|
|
taskRunTemplate: {}
|
|
workspaces:
|
|
- name: workspace
|
|
volumeClaimTemplate:
|
|
metadata:
|
|
creationTimestamp: null
|
|
spec:
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
resources:
|
|
requests:
|
|
storage: 1Gi
|
|
status: {}
|
|
- name: git-auth
|
|
secret:
|
|
secretName: '{{ git_auth_secret }}'
|
|
status: {}
|