Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# More info: https://docs.docker.com/engine/reference/builder/#dockerignore-file
# Ignore build and test binaries.
bin/


.git
.gitignore

.pre-commit-config.yaml
.golangci.yml

coverage.out
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,4 @@ Thumbs.db
dist/
build/
secrets/
bin/
242 changes: 242 additions & 0 deletions .tekton/hyperfleet-applier-chart-push.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,242 @@
# Hand-authored because Konflux's configure-pac generator only emits container
# build pipelines; there is no generated Helm chart build. This references the
# build-helm-chart-oci-ta task directly, modeled on konflux-ci/caching's
# .tekton/squid-helm-push.yaml.
#
# IMAGE_MAPPINGS is intentionally omitted: the chart packages with its
# values.yaml defaults as-is. Pinning the chart's image references to the
# Konflux-built image is deferred to the chart values / release work.
apiVersion: tekton.dev/v1
kind: PipelineRun
metadata:
annotations:
build.appstudio.openshift.io/repo: https://github.com/openshift-hyperfleet/hyperfleet-applier?rev={{revision}}
build.appstudio.redhat.com/commit_sha: '{{revision}}'
build.appstudio.redhat.com/target_branch: '{{target_branch}}'
pipelinesascode.tekton.dev/cancel-in-progress: "false"
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: hyperfleet-charts
appstudio.openshift.io/component: hyperfleet-applier-chart
pipelines.appstudio.openshift.io/type: build
name: hyperfleet-applier-chart-on-push
namespace: hyperfleet-tenant
spec:
params:
- name: git-url
value: '{{source_url}}'
- name: revision
value: '{{revision}}'
- name: output-image
value: quay.io/redhat-user-workloads/hyperfleet-tenant/hyperfleet/hyperfleet-applier-chart:{{revision}}
- name: path-context
value: charts
pipelineSpec:
description: |
This pipeline is ideal for building Helm charts while maintaining trust after pipeline customization.
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 the chart.
name: path-context
type: string
- default: "false"
description: Skip checks against built image
name: skip-checks
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
type: string
- default: "true"
description: Use the package registry proxy when prefetching dependencies
name: enable-package-registry-proxy
type: string
- default: .
description: Target directories to scan with SAST tools. Multiple values should
be separated with commas.
name: sast-target-dirs
type: string
results:
- description: OCI artifact URL of the built Helm chart
name: IMAGE_URL
value: $(tasks.build-helm-chart.results.IMAGE_URL)
- description: Digest of the built Helm chart OCI artifact
name: IMAGE_DIGEST
value: $(tasks.build-helm-chart.results.IMAGE_DIGEST)
- description: Source repository URL, consumed by Tekton Chains for provenance
name: CHAINS-GIT_URL
value: $(tasks.clone-repository.results.url)
- description: Source commit SHA, consumed by Tekton Chains for provenance
name: CHAINS-GIT_COMMIT
value: $(tasks.clone-repository.results.commit)
tasks:
- name: init
taskRef:
params:
- name: name
value: init
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-init:0.4.3@sha256:4dbbfedc4edb21884fa2ad84521408d2fad090d4d34eb6c555992f8444eba40d
- name: kind
value: task
resolver: bundles
- name: clone-repository
params:
- name: url
value: $(params.git-url)
- name: revision
value: $(params.revision)
- name: ociStorage
value: $(params.output-image).git
- name: ociArtifactExpiresAfter
value: $(params.image-expires-after)
runAfter:
- init
taskRef:
params:
- name: name
value: git-clone-oci-ta
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-git-clone-oci-ta:0.2.5@sha256:437e4a29b0674420af96e497b6492d0408e59b97f98a35b84d2d32016503c2a0
- name: kind
value: task
resolver: bundles
workspaces:
- name: basic-auth
workspace: git-auth
- name: prefetch-dependencies
params:
- name: input
value: $(params.prefetch-input)
- name: SOURCE_ARTIFACT
value: $(tasks.clone-repository.results.SOURCE_ARTIFACT)
- name: ociStorage
value: $(params.output-image).prefetch
- name: ociArtifactExpiresAfter
value: $(params.image-expires-after)
- name: enable-package-registry-proxy
value: $(params.enable-package-registry-proxy)
runAfter:
- clone-repository
taskRef:
params:
- name: name
value: prefetch-dependencies-oci-ta
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies-oci-ta:0.9.0@sha256:4486aaa69770d6b27c59c8df7d82e450d95dab2302aef9b8a345f2ac0fabbab0
- name: kind
value: task
resolver: bundles
workspaces:
- name: git-basic-auth
workspace: git-auth
- name: netrc
workspace: netrc
- name: build-helm-chart
params:
- name: IMAGE
value: $(params.output-image)
- name: CHART_CONTEXT
value: $(params.path-context)
- name: COMMIT_SHA
value: $(tasks.clone-repository.results.commit)
- name: SOURCE_ARTIFACT
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
runAfter:
- prefetch-dependencies
taskRef:
params:
- name: name
value: build-helm-chart-oci-ta
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-build-helm-chart-oci-ta:0.3@sha256:4ec5709bcefdc9e4bbc135560163749d50a35928968c9e717e27fc8c050ce88e
- name: kind
value: task
resolver: bundles
- name: sast-shell-check
params:
- name: image-digest
value: $(tasks.build-helm-chart.results.IMAGE_DIGEST)
- name: image-url
value: $(tasks.build-helm-chart.results.IMAGE_URL)
- name: SOURCE_ARTIFACT
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
- name: CACHI2_ARTIFACT
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
- name: TARGET_DIRS
value: $(params.sast-target-dirs)
runAfter:
- build-helm-chart
taskRef:
params:
- name: name
value: sast-shell-check-oci-ta
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-sast-shell-check-oci-ta:0.1@sha256:beb05ae2fad733783b3b17e05871e0eaf527a07c904cf3fb2cb551025007eec1
- name: kind
value: task
resolver: bundles
when:
- input: $(params.skip-checks)
operator: in
values:
- "false"
- name: sast-unicode-check
params:
- name: image-digest
value: $(tasks.build-helm-chart.results.IMAGE_DIGEST)
- name: image-url
value: $(tasks.build-helm-chart.results.IMAGE_URL)
- name: SOURCE_ARTIFACT
value: $(tasks.prefetch-dependencies.results.SOURCE_ARTIFACT)
- name: CACHI2_ARTIFACT
value: $(tasks.prefetch-dependencies.results.CACHI2_ARTIFACT)
- name: TARGET_DIRS
value: $(params.sast-target-dirs)
runAfter:
- build-helm-chart
taskRef:
params:
- name: name
value: sast-unicode-check-oci-ta
- name: bundle
value: quay.io/konflux-ci/tekton-catalog/task-sast-unicode-check-oci-ta:0.4@sha256:d09f717cb84f0699a531773bc498745deef2c006a81918aa73b3be6d2f4778bd
- name: kind
value: task
resolver: bundles
when:
- input: $(params.skip-checks)
operator: in
values:
- "false"
workspaces:
- name: git-auth
optional: true
- name: netrc
optional: true
taskRunTemplate:
serviceAccountName: build-pipeline-hyperfleet-applier-chart
workspaces:
- name: git-auth
secret:
secretName: '{{ git_auth_secret }}'
status: {}
Loading