{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=124",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692111991",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-ztzeiz",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-7tw7l",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "a21377541e39a2d4ff0278c1d6059619c915ab7b",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops/commit/a21377541e39a2d4ff0278c1d6059619c915ab7b",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778632086639",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/5bff1e1f-478d-459f-8e22-4f772eeaaafc/records/5bff1e1f-478d-459f-8e22-4f772eeaaafc",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-vecfibbr-gitops\",\"commit\":\"a21377541e39a2d4ff0278c1d6059619c915ab7b\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/5bff1e1f-478d-459f-8e22-4f772eeaaafc",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:28:15Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-vecfibbr",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/check-run-id": "75692111991",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "a21377541e39a2d4ff0278c1d6059619c915ab7b",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-7tw7l"
                },
                "name": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-7tw7l",
                "namespace": "tssc-app-ci",
                "resourceVersion": "48636",
                "uid": "5bff1e1f-478d-459f-8e22-4f772eeaaafc"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "a21377541e39a2d4ff0278c1d6059619c915ab7b"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-ztzeiz"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotn1394b22bd7d782dd567a48ebb59b17ca-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-bas1394b22bd7d782dd567a48ebb59b17ca-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotne1394b22bd7d782dd567a48ebb59b17ca-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet1394b22bd7d782dd567a48ebb59b17ca-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-b1394b22bd7d782dd567a48ebb59b17ca-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:29:04Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:29:04Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "a21377541e39a2d4ff0278c1d6059619c915ab7b"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "a21377541e39a2d4ff0278c1d6059619c915ab7b"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:28:15Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=155",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692292884",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-bbvsgt",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-jkpsr",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops/commit/1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778632189891",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/885f351d-a522-428d-83b6-b1b832b6dca1/records/885f351d-a522-428d-83b6-b1b832b6dca1",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-vecfibbr-gitops\",\"commit\":\"1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/885f351d-a522-428d-83b6-b1b832b6dca1",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:29:59Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-vecfibbr",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/check-run-id": "75692292884",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr-gitops",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-jkpsr"
                },
                "name": "e2e-tests-dotnet-basic-vecfibbr-gitops-on-pull-request-jkpsr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51417",
                "uid": "885f351d-a522-428d-83b6-b1b832b6dca1"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-bbvsgt"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnd54be31c8ece68dfdb1d6edf222f574a-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basd54be31c8ece68dfdb1d6edf222f574a-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotned54be31c8ece68dfdb1d6edf222f574a-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnetd54be31c8ece68dfdb1d6edf222f574a-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-bd54be31c8ece68dfdb1d6edf222f574a-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:30:47Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:30:47Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "1f7bcb8ee51c566a80b19f1c025cd9fa3daeb257"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:29:59Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=26",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691470673",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-omzuzr",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "d84051e7f8963924ce290bed053add84500b9f85",
                    "pipelinesascode.tekton.dev/sha-title": "Test PR from TSSC e2e test",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr/commit/d84051e7f8963924ce290bed053add84500b9f85",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778631720011",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr",
                    "results.tekton.dev/record": "tssc-app-ci/results/8a9ee519-5770-46a3-b3a3-7c0748d8c654/records/8a9ee519-5770-46a3-b3a3-7c0748d8c654",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-vecfibbr\",\"commit\":\"d84051e7f8963924ce290bed053add84500b9f85\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/8a9ee519-5770-46a3-b3a3-7c0748d8c654",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:22:09Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-vecfibbr",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/check-run-id": "75691470673",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-repository",
                    "pipelinesascode.tekton.dev/sha": "d84051e7f8963924ce290bed053add84500b9f85",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6"
                },
                "name": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39579",
                "uid": "8a9ee519-5770-46a3-b3a3-7c0748d8c654"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "d84051e7f8963924ce290bed053add84500b9f85"
                    },
                    {
                        "name": "event-type",
                        "value": "pull_request"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-omzuzr"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotn80f64829c5603d8055cb1392eca2278f-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-pull-request-6rlp6-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:24:25Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:24:25Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr"
                                },
                                {
                                    "name": "revision",
                                    "value": "d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "d84051e7f8963924ce290bed053add84500b9f85"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:aec4f9eef9ed94ad39a74107c0a3e54a11e2486c61071f92d8336c40b34f0aa6"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:on-pr-d84051e7f8963924ce290bed053add84500b9f85"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi8/dotnet-60:6.0-56@sha256:70aa2652508c0f69839f586c8e0322ff7ff2a65306f6749ff889b57a1e8eb841\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr@sha256:fef900ea19b59c62f32416e14123940f19f5f13cfcd27fa6a9ae507e6e68ad7f"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "d84051e7f8963924ce290bed053add84500b9f85"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":48,\"medium\":152,\"low\":226}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-13T00:22:09Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=70",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691746088",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-tuqlcl",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "68de58c2ffbd248138374fbc9d08ed4088b333e4",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778631720011",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr/commit/68de58c2ffbd248138374fbc9d08ed4088b333e4",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr",
                    "results.tekton.dev/record": "tssc-app-ci/results/58000d13-a2cb-49b5-92d2-2dad12d665ce/records/58000d13-a2cb-49b5-92d2-2dad12d665ce",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-vecfibbr\",\"commit\":\"68de58c2ffbd248138374fbc9d08ed4088b333e4\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/58000d13-a2cb-49b5-92d2-2dad12d665ce",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:24:47Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-vecfibbr-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-vecfibbr",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-vecfibbr",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-vecfibbr",
                    "pipelinesascode.tekton.dev/check-run-id": "75691746088",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-vecfibbr-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-vecfibbr-repository",
                    "pipelinesascode.tekton.dev/sha": "68de58c2ffbd248138374fbc9d08ed4088b333e4",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-vecfibbr",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq"
                },
                "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq",
                "namespace": "tssc-app-ci",
                "resourceVersion": "44658",
                "uid": "58000d13-a2cb-49b5-92d2-2dad12d665ce"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "68de58c2ffbd248138374fbc9d08ed4088b333e4"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-tuqlcl"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-vecfibbr-on-push-kdjnq-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:27:21Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:27:21Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr"
                                },
                                {
                                    "name": "revision",
                                    "value": "68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:de39a8ccaabc7e1e72e557e2e5c254385ad45eb5280850e31703ef8dd3a90d1f"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr:68de58c2ffbd248138374fbc9d08ed4088b333e4"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi8/dotnet-60:6.0-56@sha256:70aa2652508c0f69839f586c8e0322ff7ff2a65306f6749ff889b57a1e8eb841\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-vecfibbr@sha256:72b07ed5d34452d3d7eabbe8a847ce84665b434c8411772abf793750bf6f679b"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-vecfibbr"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "68de58c2ffbd248138374fbc9d08ed4088b333e4"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":48,\"medium\":152,\"low\":226}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:24:47Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=131",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692138283",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-bdgmek",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-ahlxijrz-gitops-on-pull-request-4jchk",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "68e1cfabb85301382419155ee0a5376e56bd2974",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops/commit/68e1cfabb85301382419155ee0a5376e56bd2974",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778632101157",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/0b98b70c-fb62-42dc-a5f0-7f55cf928efc/records/0b98b70c-fb62-42dc-a5f0-7f55cf928efc",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-ahlxijrz-gitops\",\"commit\":\"68e1cfabb85301382419155ee0a5376e56bd2974\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/0b98b70c-fb62-42dc-a5f0-7f55cf928efc",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:28:30Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-ahlxijrz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/check-run-id": "75692138283",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "68e1cfabb85301382419155ee0a5376e56bd2974",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz-gitops",
                    "tekton.dev/pipeline": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-4jchk"
                },
                "name": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-4jchk",
                "namespace": "tssc-app-ci",
                "resourceVersion": "48501",
                "uid": "0b98b70c-fb62-42dc-a5f0-7f55cf928efc"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "68e1cfabb85301382419155ee0a5376e56bd2974"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-bdgmek"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ae65c29fe948b19f41c2d22021441fd19-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-4jchk-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahe65c29fe948b19f41c2d22021441fd19-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahle65c29fe948b19f41c2d22021441fd19-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-4jchk-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:29:16Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:29:16Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "68e1cfabb85301382419155ee0a5376e56bd2974"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "68e1cfabb85301382419155ee0a5376e56bd2974"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:28:30Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=166",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692340718",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-iqjkiy",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-ahlxijrz-gitops-on-pull-request-9vm9r",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "de8b6dc3edcaec2ddc320a4c82433bb289b3630f",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops/commit/de8b6dc3edcaec2ddc320a4c82433bb289b3630f",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778632214053",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/a6dc863c-7c8c-4d7f-9f4b-c4e218eac766/records/a6dc863c-7c8c-4d7f-9f4b-c4e218eac766",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-ahlxijrz-gitops\",\"commit\":\"de8b6dc3edcaec2ddc320a4c82433bb289b3630f\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/a6dc863c-7c8c-4d7f-9f4b-c4e218eac766",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:30:23Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-ahlxijrz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/check-run-id": "75692340718",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "de8b6dc3edcaec2ddc320a4c82433bb289b3630f",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz-gitops",
                    "tekton.dev/pipeline": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-9vm9r"
                },
                "name": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-9vm9r",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51826",
                "uid": "a6dc863c-7c8c-4d7f-9f4b-c4e218eac766"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "de8b6dc3edcaec2ddc320a4c82433bb289b3630f"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-iqjkiy"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-a06803e1aebbcfffb25463c063f5bbe10-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-9vm9r-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ah06803e1aebbcfffb25463c063f5bbe10-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahl06803e1aebbcfffb25463c063f5bbe10-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-gitops-on-pull-request-9vm9r-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:31:12Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:31:12Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "de8b6dc3edcaec2ddc320a4c82433bb289b3630f"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "de8b6dc3edcaec2ddc320a4c82433bb289b3630f"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:30:23Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=41",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691555676",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-ockogo",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-ahlxijrz-on-pull-request-9d5b2",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "e4b416e140ce764902339e61b13ffedad762725f",
                    "pipelinesascode.tekton.dev/sha-title": "Test PR from TSSC e2e test",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz/commit/e4b416e140ce764902339e61b13ffedad762725f",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778631767024",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz",
                    "results.tekton.dev/record": "tssc-app-ci/results/77033f66-5e9b-48c7-9653-fd7a66e32e35/records/77033f66-5e9b-48c7-9653-fd7a66e32e35",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-ahlxijrz\",\"commit\":\"e4b416e140ce764902339e61b13ffedad762725f\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/77033f66-5e9b-48c7-9653-fd7a66e32e35",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:22:57Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-ahlxijrz-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-ahlxijrz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/check-run-id": "75691555676",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-repository",
                    "pipelinesascode.tekton.dev/sha": "e4b416e140ce764902339e61b13ffedad762725f",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz",
                    "tekton.dev/pipeline": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2"
                },
                "name": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2",
                "namespace": "tssc-app-ci",
                "resourceVersion": "40853",
                "uid": "77033f66-5e9b-48c7-9653-fd7a66e32e35"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "e4b416e140ce764902339e61b13ffedad762725f"
                    },
                    {
                        "name": "event-type",
                        "value": "pull_request"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-ockogo"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-pull-request-9d5b2-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:25:10Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:25:10Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz"
                                },
                                {
                                    "name": "revision",
                                    "value": "e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "e4b416e140ce764902339e61b13ffedad762725f"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:1ea63e3e1219eaa8a8d9e297652d8da09274f3c951c3cd0639fe3a9c9ed4bc2c"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:on-pr-e4b416e140ce764902339e61b13ffedad762725f"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/go-toolset:9.7-1778604137@sha256:e06a6f4c85c3ca75f64127542449c9770fb885adfb592f987c576d268ac108de\nregistry.access.redhat.com/ubi9/ubi-micro:latest@sha256:1ef916d40ff7f1a4882a31ad5ab37f9572baa7bd182c3519d5e0cb557ffc04f3\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz@sha256:2a962964f3359a63fc6b40e67109ee13c4fe66614450f783dc70b03fe289b035"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "e4b416e140ce764902339e61b13ffedad762725f"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":1,\"medium\":5,\"low\":12}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-13T00:22:57Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=79",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691845550",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-xsydxp",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-ahlxijrz-on-push-lnncz",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "902e01b6b2054c4649f7cf2d9a77aa9472b8b645",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778631767024",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz/commit/902e01b6b2054c4649f7cf2d9a77aa9472b8b645",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz",
                    "results.tekton.dev/record": "tssc-app-ci/results/7af990d8-5c7a-42ea-a3f7-fb59ad6eb435/records/7af990d8-5c7a-42ea-a3f7-fb59ad6eb435",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-ahlxijrz\",\"commit\":\"902e01b6b2054c4649f7cf2d9a77aa9472b8b645\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/7af990d8-5c7a-42ea-a3f7-fb59ad6eb435",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:25:44Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-go-ahlxijrz-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-ahlxijrz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-ahlxijrz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-ahlxijrz",
                    "pipelinesascode.tekton.dev/check-run-id": "75691845550",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-ahlxijrz-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-ahlxijrz-repository",
                    "pipelinesascode.tekton.dev/sha": "902e01b6b2054c4649f7cf2d9a77aa9472b8b645",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-ahlxijrz",
                    "tekton.dev/pipeline": "e2e-tests-go-ahlxijrz-on-push-lnncz"
                },
                "name": "e2e-tests-go-ahlxijrz-on-push-lnncz",
                "namespace": "tssc-app-ci",
                "resourceVersion": "44907",
                "uid": "7af990d8-5c7a-42ea-a3f7-fb59ad6eb435"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-xsydxp"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ahlxijrz-on-push-lnncz-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:27:38Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:27:38Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz"
                                },
                                {
                                    "name": "revision",
                                    "value": "902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:7f32117273344d5c9aaa9fe0a30ea64aebc54bfe2f3c8c19ab1286145c62d62c"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz:902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/go-toolset:9.7-1778604137@sha256:e06a6f4c85c3ca75f64127542449c9770fb885adfb592f987c576d268ac108de\nregistry.access.redhat.com/ubi9/ubi-micro:latest@sha256:1ef916d40ff7f1a4882a31ad5ab37f9572baa7bd182c3519d5e0cb557ffc04f3\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-ahlxijrz@sha256:410b2afb25bf6a7272749f47c52850025d5333fca1e89dda191a58c9742d1b36"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-ahlxijrz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "902e01b6b2054c4649f7cf2d9a77aa9472b8b645"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":1,\"medium\":5,\"low\":12}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:25:45Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=163",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692338800",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-vqqvws",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-fjxpx",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "e90ec94f4fd54d08a2dabe28e406a36db615eade",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops/commit/e90ec94f4fd54d08a2dabe28e406a36db615eade",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778632213046",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/72971487-8410-4899-baed-caaee0696d1e/records/72971487-8410-4899-baed-caaee0696d1e",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-rbilyorm-gitops\",\"commit\":\"e90ec94f4fd54d08a2dabe28e406a36db615eade\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/72971487-8410-4899-baed-caaee0696d1e",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:30:21Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-rbilyorm",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/check-run-id": "75692338800",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "e90ec94f4fd54d08a2dabe28e406a36db615eade",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-fjxpx"
                },
                "name": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-fjxpx",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51831",
                "uid": "72971487-8410-4899-baed-caaee0696d1e"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "e90ec94f4fd54d08a2dabe28e406a36db615eade"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-vqqvws"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java93adea98388bea3949de74be018de24e-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quark93adea98388bea3949de74be018de24e-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-93adea98388bea3949de74be018de24e-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-q93adea98388bea3949de74be018de24e-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-qua93adea98388bea3949de74be018de24e-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:31:07Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:31:07Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "e90ec94f4fd54d08a2dabe28e406a36db615eade"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "e90ec94f4fd54d08a2dabe28e406a36db615eade"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:30:21Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=133",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692160564",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-qtsoqi",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-rb7km",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "c19c1b93a4ba0d45b0e2e25222d1161b44076b84",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops/commit/c19c1b93a4ba0d45b0e2e25222d1161b44076b84",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778632113231",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/d6155c8a-7240-484f-9892-6fe91d9be78c/records/d6155c8a-7240-484f-9892-6fe91d9be78c",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-rbilyorm-gitops\",\"commit\":\"c19c1b93a4ba0d45b0e2e25222d1161b44076b84\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/d6155c8a-7240-484f-9892-6fe91d9be78c",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:28:42Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-rbilyorm",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/check-run-id": "75692160564",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "c19c1b93a4ba0d45b0e2e25222d1161b44076b84",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-rb7km"
                },
                "name": "e2e-tests-java-quarkus-rbilyorm-gitops-on-pull-request-rb7km",
                "namespace": "tssc-app-ci",
                "resourceVersion": "48787",
                "uid": "d6155c8a-7240-484f-9892-6fe91d9be78c"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "c19c1b93a4ba0d45b0e2e25222d1161b44076b84"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-qtsoqi"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java97747519dd87d87e90a1b6439a40f90f-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quark97747519dd87d87e90a1b6439a40f90f-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-97747519dd87d87e90a1b6439a40f90f-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-q97747519dd87d87e90a1b6439a40f90f-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-qua97747519dd87d87e90a1b6439a40f90f-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:29:27Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:29:27Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "c19c1b93a4ba0d45b0e2e25222d1161b44076b84"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "c19c1b93a4ba0d45b0e2e25222d1161b44076b84"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:28:42Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=34",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691478526",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-zmehzu",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "b7cf8c9a4440a918842a95770a51acfa4b03a23a",
                    "pipelinesascode.tekton.dev/sha-title": "Test PR from TSSC e2e test",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm/commit/b7cf8c9a4440a918842a95770a51acfa4b03a23a",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778631723939",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm",
                    "results.tekton.dev/record": "tssc-app-ci/results/bb01bbbc-2918-4fc3-aeb7-fc5b8c759f76/records/bb01bbbc-2918-4fc3-aeb7-fc5b8c759f76",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-rbilyorm\",\"commit\":\"b7cf8c9a4440a918842a95770a51acfa4b03a23a\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/bb01bbbc-2918-4fc3-aeb7-fc5b8c759f76",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:22:13Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-rbilyorm",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/check-run-id": "75691478526",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-repository",
                    "pipelinesascode.tekton.dev/sha": "b7cf8c9a4440a918842a95770a51acfa4b03a23a",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs"
                },
                "name": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs",
                "namespace": "tssc-app-ci",
                "resourceVersion": "40479",
                "uid": "bb01bbbc-2918-4fc3-aeb7-fc5b8c759f76"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "src/main/docker/Dockerfile.jvm.staged"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                    },
                    {
                        "name": "event-type",
                        "value": "pull_request"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-zmehzu"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java07c51888dbd220be1ec32deff23db989-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-pull-request-fk7rs-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:24:49Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:24:49Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                                },
                                {
                                    "name": "revision",
                                    "value": "b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "src/main/docker/Dockerfile.jvm.staged"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:f0ec417938d1309041a5219478fcc5f26a53fb72945b3bdaa27f9f571289cfdf"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:on-pr-b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm@sha256:45d61c741ed0605f53e8332d9de83e7888b28c06b9b22c6ee521ba78d0a9a7b4"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "b7cf8c9a4440a918842a95770a51acfa4b03a23a"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":15,\"medium\":91,\"low\":57}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-13T00:22:13Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=22",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691372848",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-cgfldq",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-qe-ci[bot]",
                    "pipelinesascode.tekton.dev/sha": "fb1202cb23810af71d792fec8d21d37bfa4c6688",
                    "pipelinesascode.tekton.dev/sha-title": "initial commit",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm/commit/fb1202cb23810af71d792fec8d21d37bfa4c6688",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm",
                    "results.tekton.dev/record": "tssc-app-ci/results/a0a918c8-2181-4240-b6fb-d225bc4af070/records/a0a918c8-2181-4240-b6fb-d225bc4af070",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-rbilyorm\",\"commit\":\"fb1202cb23810af71d792fec8d21d37bfa4c6688\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/a0a918c8-2181-4240-b6fb-d225bc4af070",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:21:15Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-quarkus-rbilyorm-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-rbilyorm",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/check-run-id": "75691372848",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-repository",
                    "pipelinesascode.tekton.dev/sha": "fb1202cb23810af71d792fec8d21d37bfa4c6688",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5"
                },
                "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39515",
                "uid": "a0a918c8-2181-4240-b6fb-d225bc4af070"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "src/main/docker/Dockerfile.jvm.staged"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "fb1202cb23810af71d792fec8d21d37bfa4c6688"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-cgfldq"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-2gbs5-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:24:19Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:24:19Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                                },
                                {
                                    "name": "revision",
                                    "value": "fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "src/main/docker/Dockerfile.jvm.staged"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:f9a411c0fcf73780de681a87ea7052f45745f28c744706b62922bf107be031ed"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:fb1202cb23810af71d792fec8d21d37bfa4c6688"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm@sha256:987401e13cf1bdef0f1e5094cf45fb4a4d8fb3ba1a8e77f76b6b577e0e168d88"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "fb1202cb23810af71d792fec8d21d37bfa4c6688"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":15,\"medium\":91,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:21:15Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=100",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691806858",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-saxwns",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-rbilyorm-on-push-67rj8",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "4ead62e7f857d289e9571d74a1b21c86997603a4",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778631723939",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm/commit/4ead62e7f857d289e9571d74a1b21c86997603a4",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm",
                    "results.tekton.dev/record": "tssc-app-ci/results/6e5b68b4-4580-4c47-bacf-e1eb2649cf88/records/6e5b68b4-4580-4c47-bacf-e1eb2649cf88",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-rbilyorm\",\"commit\":\"4ead62e7f857d289e9571d74a1b21c86997603a4\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/6e5b68b4-4580-4c47-bacf-e1eb2649cf88",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:25:21Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-quarkus-rbilyorm-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-rbilyorm",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-rbilyorm",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-rbilyorm",
                    "pipelinesascode.tekton.dev/check-run-id": "75691806858",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-rbilyorm-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-rbilyorm-repository",
                    "pipelinesascode.tekton.dev/sha": "4ead62e7f857d289e9571d74a1b21c86997603a4",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-rbilyorm",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8"
                },
                "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8",
                "namespace": "tssc-app-ci",
                "resourceVersion": "46052",
                "uid": "6e5b68b4-4580-4c47-bacf-e1eb2649cf88"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "src/main/docker/Dockerfile.jvm.staged"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "4ead62e7f857d289e9571d74a1b21c86997603a4"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-saxwns"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-rbilyorm-on-push-67rj8-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:28:13Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:28:13Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                                },
                                {
                                    "name": "revision",
                                    "value": "4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "4ead62e7f857d289e9571d74a1b21c86997603a4"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "src/main/docker/Dockerfile.jvm.staged"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:ed4bc7dbc6e4dd1018329bd5f28005c17dfcdf1522a718ea21ca035872855c98"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm:4ead62e7f857d289e9571d74a1b21c86997603a4"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-rbilyorm@sha256:82206831bd8b2afc66b03fd8d71f0898938748dbb8607064c728904eb5290f55"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-rbilyorm"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "4ead62e7f857d289e9571d74a1b21c86997603a4"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":15,\"medium\":91,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:25:22Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=181",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692557381",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-tvbwft",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-4t2c6",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "e6989dad78006c0ec9f2a476813fc3620bb97498",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops/commit/e6989dad78006c0ec9f2a476813fc3620bb97498",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778632331148",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/12be6181-529b-4c6a-99ec-0968314345e8/records/12be6181-529b-4c6a-99ec-0968314345e8",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-vzneioca-gitops\",\"commit\":\"e6989dad78006c0ec9f2a476813fc3620bb97498\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/12be6181-529b-4c6a-99ec-0968314345e8",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:32:20Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-vzneioca",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/check-run-id": "75692557381",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "e6989dad78006c0ec9f2a476813fc3620bb97498",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-4t2c6"
                },
                "name": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-4t2c6",
                "namespace": "tssc-app-ci",
                "resourceVersion": "54230",
                "uid": "12be6181-529b-4c6a-99ec-0968314345e8"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "e6989dad78006c0ec9f2a476813fc3620bb97498"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-tvbwft"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java78e861a02367aa5e1cf0f4ef5578c4dc-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprin78e861a02367aa5e1cf0f4ef5578c4dc-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-78e861a02367aa5e1cf0f4ef5578c4dc-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-s78e861a02367aa5e1cf0f4ef5578c4dc-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spr78e861a02367aa5e1cf0f4ef5578c4dc-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:33:07Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:33:07Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "e6989dad78006c0ec9f2a476813fc3620bb97498"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "e6989dad78006c0ec9f2a476813fc3620bb97498"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:32:20Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=187",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692737782",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-uxsjuo",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-nxsxn",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "2056d72cc47e7bcff364091d25930a9705f56958",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops/commit/2056d72cc47e7bcff364091d25930a9705f56958",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778632429282",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/ecd2087a-7429-42ad-bd94-81a859de7ae4/records/ecd2087a-7429-42ad-bd94-81a859de7ae4",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-vzneioca-gitops\",\"commit\":\"2056d72cc47e7bcff364091d25930a9705f56958\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/ecd2087a-7429-42ad-bd94-81a859de7ae4",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:33:58Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-vzneioca",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/check-run-id": "75692737782",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "2056d72cc47e7bcff364091d25930a9705f56958",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-nxsxn"
                },
                "name": "e2e-tests-java-springboot-vzneioca-gitops-on-pull-request-nxsxn",
                "namespace": "tssc-app-ci",
                "resourceVersion": "55606",
                "uid": "ecd2087a-7429-42ad-bd94-81a859de7ae4"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "2056d72cc47e7bcff364091d25930a9705f56958"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-uxsjuo"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java72925613f0b41fd21b6872abe4a805a6-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprin72925613f0b41fd21b6872abe4a805a6-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-72925613f0b41fd21b6872abe4a805a6-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-s72925613f0b41fd21b6872abe4a805a6-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spr72925613f0b41fd21b6872abe4a805a6-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:34:50Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:34:50Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "2056d72cc47e7bcff364091d25930a9705f56958"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "2056d72cc47e7bcff364091d25930a9705f56958"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:33:58Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=116",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691909628",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-hqqgsw",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-vzneioca-on-pull-request-728rr",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "b4eeff04e343e2cb527b98e1c3c39a8388de8db0",
                    "pipelinesascode.tekton.dev/sha-title": "Test PR from TSSC e2e test",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca/commit/b4eeff04e343e2cb527b98e1c3c39a8388de8db0",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778631971497",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca",
                    "results.tekton.dev/record": "tssc-app-ci/results/2456bbc0-bccd-4727-bb4a-f4b68f9f58c5/records/2456bbc0-bccd-4727-bb4a-f4b68f9f58c5",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-vzneioca\",\"commit\":\"b4eeff04e343e2cb527b98e1c3c39a8388de8db0\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/2456bbc0-bccd-4727-bb4a-f4b68f9f58c5",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:26:20Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-springboot-vzneioca-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-vzneioca",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/check-run-id": "75691909628",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-repository",
                    "pipelinesascode.tekton.dev/sha": "b4eeff04e343e2cb527b98e1c3c39a8388de8db0",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-vzneioca-on-pull-request-728rr"
                },
                "name": "e2e-tests-java-springboot-vzneioca-on-pull-request-728rr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "48139",
                "uid": "2456bbc0-bccd-4727-bb4a-f4b68f9f58c5"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                    },
                    {
                        "name": "event-type",
                        "value": "pull_request"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-hqqgsw"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java16a34a7231882cbaa41f2fb859e3a4fa-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-pull-request-728rr-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-pull-request-728rr-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spring16a34a7231882cbaa41f2fb859e3a4fa-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spring16a34a7231882cbaa41f2fb859e3a4fa-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:28:45Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:28:45Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                                },
                                {
                                    "name": "revision",
                                    "value": "b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:2684165ddc94ae9392209001176a23ccd4e0059918e9ddec22b31091372375a5"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:on-pr-b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca@sha256:ea145d654dda61947e4884fdbcbe17099fdae8585512aef4bfeeeae096bf2424"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "b4eeff04e343e2cb527b98e1c3c39a8388de8db0"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":10,\"medium\":87,\"low\":57}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-13T00:26:21Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=169",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692193893",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-ynixzy",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-vzneioca-on-push-59ddr",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "783dd8980117eb241fa08d3d8d4c709c4cf81059",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778631971497",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca/commit/783dd8980117eb241fa08d3d8d4c709c4cf81059",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca",
                    "results.tekton.dev/record": "tssc-app-ci/results/fa8d45c4-565f-4c5b-be78-e68c3aeaaa99/records/fa8d45c4-565f-4c5b-be78-e68c3aeaaa99",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-vzneioca\",\"commit\":\"783dd8980117eb241fa08d3d8d4c709c4cf81059\",\"eventType\":\"push\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/fa8d45c4-565f-4c5b-be78-e68c3aeaaa99",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:29:01Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-vzneioca-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-vzneioca",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/check-run-id": "75692193893",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-on-push",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-repository",
                    "pipelinesascode.tekton.dev/sha": "783dd8980117eb241fa08d3d8d4c709c4cf81059",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-vzneioca-on-push-59ddr"
                },
                "name": "e2e-tests-java-springboot-vzneioca-on-push-59ddr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51970",
                "uid": "fa8d45c4-565f-4c5b-be78-e68c3aeaaa99"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "783dd8980117eb241fa08d3d8d4c709c4cf81059"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-ynixzy"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java5f169df78ded1fa8e115e4509451d7da-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-59ddr-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-59ddr-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java5f169df78ded1fa8e115e4509451d7da-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-59ddr-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-59ddr-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-59ddr-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:31:20Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:31:20Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                                },
                                {
                                    "name": "revision",
                                    "value": "783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:f61037c75c7d83c35eb15dba5e476890783ddf0e23336f893c68076500c45694"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:783dd8980117eb241fa08d3d8d4c709c4cf81059"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca@sha256:9536baf46f1249b99f0de42261fabdf4c105ef346c16f50e0cfec6ced0e51dd1"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "783dd8980117eb241fa08d3d8d4c709c4cf81059"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":10,\"medium\":87,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:29:01Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=104",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691858911",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-kzcsvf",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-vzneioca-on-push-dv7n6",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-qe-ci[bot]",
                    "pipelinesascode.tekton.dev/sha": "28cd3b794bf53b91844a87b687f220e84344949c",
                    "pipelinesascode.tekton.dev/sha-title": "initial commit",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca/commit/28cd3b794bf53b91844a87b687f220e84344949c",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca",
                    "results.tekton.dev/record": "tssc-app-ci/results/82ff3f9f-4832-41e3-8509-1ceb69aef446/records/82ff3f9f-4832-41e3-8509-1ceb69aef446",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-vzneioca\",\"commit\":\"28cd3b794bf53b91844a87b687f220e84344949c\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/82ff3f9f-4832-41e3-8509-1ceb69aef446",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:25:53Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-vzneioca-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-vzneioca",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-vzneioca",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-vzneioca",
                    "pipelinesascode.tekton.dev/check-run-id": "75691858911",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-vzneioca-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-vzneioca-repository",
                    "pipelinesascode.tekton.dev/sha": "28cd3b794bf53b91844a87b687f220e84344949c",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-vzneioca",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6"
                },
                "name": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6",
                "namespace": "tssc-app-ci",
                "resourceVersion": "46838",
                "uid": "82ff3f9f-4832-41e3-8509-1ceb69aef446"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "28cd3b794bf53b91844a87b687f220e84344949c"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-kzcsvf"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-javab1a227e7f18b515f8bf43aa92b306695-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-javab1a227e7f18b515f8bf43aa92b306695-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-vzneioca-on-push-dv7n6-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:28:24Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:28:24Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                                },
                                {
                                    "name": "revision",
                                    "value": "28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "28cd3b794bf53b91844a87b687f220e84344949c"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:2b9e093719ba7f0af2f5925a4b4e1df86e58ef34c15d2da6ed234aefa13181be"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca:28cd3b794bf53b91844a87b687f220e84344949c"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-vzneioca@sha256:13b5f9c570066da742d48cae18b8c885f3c79733490d5a0a94a7b33fd3627b69"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-vzneioca"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "28cd3b794bf53b91844a87b687f220e84344949c"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":10,\"medium\":87,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:25:53Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=93",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691989710",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-omjyod",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-f6l4z",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "e582397b3b615b0fa617f7da5851b5e780d01244",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops/commit/e582397b3b615b0fa617f7da5851b5e780d01244",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778632017103",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/9f1a52d6-d5f1-44a7-ad8c-9ea42141fed0/records/9f1a52d6-d5f1-44a7-ad8c-9ea42141fed0",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ltekbskc-gitops\",\"commit\":\"e582397b3b615b0fa617f7da5851b5e780d01244\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/9f1a52d6-d5f1-44a7-ad8c-9ea42141fed0",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:27:05Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ltekbskc",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/check-run-id": "75691989710",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "e582397b3b615b0fa617f7da5851b5e780d01244",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc-gitops",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-f6l4z"
                },
                "name": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-f6l4z",
                "namespace": "tssc-app-ci",
                "resourceVersion": "45781",
                "uid": "9f1a52d6-d5f1-44a7-ad8c-9ea42141fed0"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "e582397b3b615b0fa617f7da5851b5e780d01244"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-omjyod"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodeaae139ec9011db318a189b8931401868-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-lteaae139ec9011db318a189b8931401868-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejaae139ec9011db318a189b8931401868-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejsaae139ec9011db318a189b8931401868-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-laae139ec9011db318a189b8931401868-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:28:00Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:28:00Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "e582397b3b615b0fa617f7da5851b5e780d01244"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "e582397b3b615b0fa617f7da5851b5e780d01244"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:27:05Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=137",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692177415",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-oexfqe",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-tbvkj",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "0e7279e2000774fd1055394b39cfdb6c1d21d626",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops/commit/0e7279e2000774fd1055394b39cfdb6c1d21d626",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778632123395",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/15cc1f49-c493-4df0-a64f-dc0ff9c03866/records/15cc1f49-c493-4df0-a64f-dc0ff9c03866",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ltekbskc-gitops\",\"commit\":\"0e7279e2000774fd1055394b39cfdb6c1d21d626\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/15cc1f49-c493-4df0-a64f-dc0ff9c03866",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:28:52Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ltekbskc",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/check-run-id": "75692177415",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "0e7279e2000774fd1055394b39cfdb6c1d21d626",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc-gitops",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-tbvkj"
                },
                "name": "e2e-tests-nodejs-ltekbskc-gitops-on-pull-request-tbvkj",
                "namespace": "tssc-app-ci",
                "resourceVersion": "49015",
                "uid": "15cc1f49-c493-4df0-a64f-dc0ff9c03866"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "0e7279e2000774fd1055394b39cfdb6c1d21d626"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-oexfqe"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-node478375d0f9d64d9d99314ac3b511350d-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-lte478375d0f9d64d9d99314ac3b511350d-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodej478375d0f9d64d9d99314ac3b511350d-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs478375d0f9d64d9d99314ac3b511350d-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-l478375d0f9d64d9d99314ac3b511350d-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:29:37Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:29:37Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "0e7279e2000774fd1055394b39cfdb6c1d21d626"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "0e7279e2000774fd1055394b39cfdb6c1d21d626"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:28:52Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=18",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691495266",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-ajmvza",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ltekbskc-on-pull-request-rc827",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "a5a00ee074e44cac4c6e053e6e4b4cfac565a589",
                    "pipelinesascode.tekton.dev/sha-title": "Test PR from TSSC e2e test",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc/commit/a5a00ee074e44cac4c6e053e6e4b4cfac565a589",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778631733353",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc",
                    "results.tekton.dev/record": "tssc-app-ci/results/e4fcd69d-871d-4745-ae4e-09a703bca17a/records/e4fcd69d-871d-4745-ae4e-09a703bca17a",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ltekbskc\",\"commit\":\"a5a00ee074e44cac4c6e053e6e4b4cfac565a589\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/e4fcd69d-871d-4745-ae4e-09a703bca17a",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:22:23Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-ltekbskc-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ltekbskc",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/check-run-id": "75691495266",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-repository",
                    "pipelinesascode.tekton.dev/sha": "a5a00ee074e44cac4c6e053e6e4b4cfac565a589",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ltekbskc-on-pull-request-rc827"
                },
                "name": "e2e-tests-nodejs-ltekbskc-on-pull-request-rc827",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39160",
                "uid": "e4fcd69d-871d-4745-ae4e-09a703bca17a"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                    },
                    {
                        "name": "event-type",
                        "value": "pull_request"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-ajmvza"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-noded8d96b1346ef3f3176a6d89b8812f0fb-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-pull-request-rc827-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-pull-request-rc827-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-pull-request-rc827-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-pull-request-rc827-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:24:13Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:24:13Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc"
                                },
                                {
                                    "name": "revision",
                                    "value": "a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:8bac21daaf164becba231dbe203245369ae4eec27a3c16cf7d2cfa8b31816b73"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:on-pr-a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/nodejs-22:latest@sha256:62368234c8545a55c3a4900016c96585c8eff46fa56eff7eb58db4616f531407\nregistry.access.redhat.com/ubi9/nodejs-22-minimal:latest@sha256:f4bb8a793fe34bfae9b05d7a358c748819fb1bc1f50a657a945948967678a9bd\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc@sha256:80b375e1c830760d7895c805de09dab8db7d9cec247113b6de4f11b9f924bf69"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "a5a00ee074e44cac4c6e053e6e4b4cfac565a589"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":4,\"medium\":57,\"low\":50}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-13T00:22:23Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=57",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691716362",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-gvxqwg",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ltekbskc-on-push-6llcr",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "988d22cc498577f6063b6e9788b65ebe2dd90363",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778631733353",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc/commit/988d22cc498577f6063b6e9788b65ebe2dd90363",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc",
                    "results.tekton.dev/record": "tssc-app-ci/results/06180d59-997b-4ada-ba7d-931d6d0d88ad/records/06180d59-997b-4ada-ba7d-931d6d0d88ad",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ltekbskc\",\"commit\":\"988d22cc498577f6063b6e9788b65ebe2dd90363\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/06180d59-997b-4ada-ba7d-931d6d0d88ad",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:24:29Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-ltekbskc-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ltekbskc",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ltekbskc",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ltekbskc",
                    "pipelinesascode.tekton.dev/check-run-id": "75691716362",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ltekbskc-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ltekbskc-repository",
                    "pipelinesascode.tekton.dev/sha": "988d22cc498577f6063b6e9788b65ebe2dd90363",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ltekbskc",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ltekbskc-on-push-6llcr"
                },
                "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "42825",
                "uid": "06180d59-997b-4ada-ba7d-931d6d0d88ad"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "988d22cc498577f6063b6e9788b65ebe2dd90363"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-gvxqwg"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ltekbskc-on-push-6llcr-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:26:13Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:26:13Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc"
                                },
                                {
                                    "name": "revision",
                                    "value": "988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "988d22cc498577f6063b6e9788b65ebe2dd90363"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:c9396c3266e6810b9b15ade8467ba851ff7428c403fc937c78c302cda714224e"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc:988d22cc498577f6063b6e9788b65ebe2dd90363"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/nodejs-22:latest@sha256:62368234c8545a55c3a4900016c96585c8eff46fa56eff7eb58db4616f531407\nregistry.access.redhat.com/ubi9/nodejs-22-minimal:latest@sha256:f4bb8a793fe34bfae9b05d7a358c748819fb1bc1f50a657a945948967678a9bd\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ltekbskc@sha256:09512aa91b45e07b0c2471f40d263dabb2a42e694e80aac373abf6ad061a4a4d"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ltekbskc"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "988d22cc498577f6063b6e9788b65ebe2dd90363"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":4,\"medium\":57,\"low\":50}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:24:29Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=175",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692473993",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-blobya",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-joibzmxt-gitops-on-pull-request-mrndg",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "b4b7b79ec7f64f29b7d47a94792aa66ef1969cee",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops/commit/b4b7b79ec7f64f29b7d47a94792aa66ef1969cee",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778632287249",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/c58fd800-a5c3-4504-92c3-6301d29e783f/records/c58fd800-a5c3-4504-92c3-6301d29e783f",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-joibzmxt-gitops\",\"commit\":\"b4b7b79ec7f64f29b7d47a94792aa66ef1969cee\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/c58fd800-a5c3-4504-92c3-6301d29e783f",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:31:35Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-python-joibzmxt-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-joibzmxt",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-id": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/check-run-id": "75692473993",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "b4b7b79ec7f64f29b7d47a94792aa66ef1969cee",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt-gitops",
                    "tekton.dev/pipeline": "e2e-tests-python-joibzmxt-gitops-on-pull-request-mrndg"
                },
                "name": "e2e-tests-python-joibzmxt-gitops-on-pull-request-mrndg",
                "namespace": "tssc-app-ci",
                "resourceVersion": "53392",
                "uid": "c58fd800-a5c3-4504-92c3-6301d29e783f"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "b4b7b79ec7f64f29b7d47a94792aa66ef1969cee"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-blobya"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pythb45b940e5b76e213b7c795c1c93284a3-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joib45b940e5b76e213b7c795c1c93284a3-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pythob45b940e5b76e213b7c795c1c93284a3-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pythonb45b940e5b76e213b7c795c1c93284a3-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-jb45b940e5b76e213b7c795c1c93284a3-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:32:17Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:32:17Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "b4b7b79ec7f64f29b7d47a94792aa66ef1969cee"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "b4b7b79ec7f64f29b7d47a94792aa66ef1969cee"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:31:35Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=149",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75692289773",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-qctbqf",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-joibzmxt-gitops-on-pull-request-v52fc",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/gitops-pull-request-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "ba9904b742e209d1088d8411e216cbbc278bab8b",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops/commit/ba9904b742e209d1088d8411e216cbbc278bab8b",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778632188284",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-enterprise-contract.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/gather-deploy-images.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-sbom-from-url-in-attestation.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-sbom-to-trustification.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/fetch-gitops-images.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/verify-gitops-conforma.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/download-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/upload-gitops-sbom.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/a7fbaddc-ede6-4181-b997-41eecebb523f/records/a7fbaddc-ede6-4181-b997-41eecebb523f",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-joibzmxt-gitops\",\"commit\":\"ba9904b742e209d1088d8411e216cbbc278bab8b\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/a7fbaddc-ede6-4181-b997-41eecebb523f",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:29:57Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-python-joibzmxt-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-joibzmxt",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-id": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/check-run-id": "75692289773",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "ba9904b742e209d1088d8411e216cbbc278bab8b",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt-gitops",
                    "tekton.dev/pipeline": "e2e-tests-python-joibzmxt-gitops-on-pull-request-v52fc"
                },
                "name": "e2e-tests-python-joibzmxt-gitops-on-pull-request-v52fc",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51126",
                "uid": "a7fbaddc-ede6-4181-b997-41eecebb523f"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "ba9904b742e209d1088d8411e216cbbc278bab8b"
                    },
                    {
                        "name": "target-branch",
                        "value": "main"
                    },
                    {
                        "name": "fail-if-trustification-not-configured",
                        "value": "false"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "$(params.ec-public-key)"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "$(params.target-branch)"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n"
                                    },
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "$(params.ec-strict)"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "$(params.ec-policy-configuration)"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "$(params.trustification-secret-name)"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-qctbqf"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pyth04d988022b7b726926b8754e20a7a803-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joi04d988022b7b726926b8754e20a7a803-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pytho04d988022b7b726926b8754e20a7a803-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python04d988022b7b726926b8754e20a7a803-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-j04d988022b7b726926b8754e20a7a803-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-13T00:30:40Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:30:40Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "ba9904b742e209d1088d8411e216cbbc278bab8b"
                                },
                                {
                                    "name": "fetchTags",
                                    "value": "true"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "ba9904b742e209d1088d8411e216cbbc278bab8b"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-13T00:29:57Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=45",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691475183",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-hunbtu",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-joibzmxt-on-pull-request-qtg2m",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-on-pull-request",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "191167a139dad534a9fb2673bb2431aa6ed15f89",
                    "pipelinesascode.tekton.dev/sha-title": "Test PR from TSSC e2e test",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt/commit/191167a139dad534a9fb2673bb2431aa6ed15f89",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778631722443",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt",
                    "results.tekton.dev/record": "tssc-app-ci/results/c16a9121-e5fa-4380-962e-2f5f4aacb323/records/c16a9121-e5fa-4380-962e-2f5f4aacb323",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-joibzmxt\",\"commit\":\"191167a139dad534a9fb2673bb2431aa6ed15f89\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/c16a9121-e5fa-4380-962e-2f5f4aacb323",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:22:11Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-joibzmxt-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-joibzmxt",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-id": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/check-run-id": "75691475183",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-repository",
                    "pipelinesascode.tekton.dev/sha": "191167a139dad534a9fb2673bb2431aa6ed15f89",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt",
                    "tekton.dev/pipeline": "e2e-tests-python-joibzmxt-on-pull-request-qtg2m"
                },
                "name": "e2e-tests-python-joibzmxt-on-pull-request-qtg2m",
                "namespace": "tssc-app-ci",
                "resourceVersion": "40985",
                "uid": "c16a9121-e5fa-4380-962e-2f5f4aacb323"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "191167a139dad534a9fb2673bb2431aa6ed15f89"
                    },
                    {
                        "name": "event-type",
                        "value": "pull_request"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-hunbtu"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pyth7dd4692778a903706041a6e03766c33a-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-pull-request-qtg2m-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-pull-request-qtg2m-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-pull-request-qtg2m-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-pull-request-qtg2m-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:25:21Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:25:21Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt"
                                },
                                {
                                    "name": "revision",
                                    "value": "191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "191167a139dad534a9fb2673bb2431aa6ed15f89"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "pull_request",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:7756c649bd53a4e8833e33a28a408e208ff59c69caa7799eba58fdf6dce5160a"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:on-pr-191167a139dad534a9fb2673bb2431aa6ed15f89"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/python-312:latest@sha256:bf2f5a3cf0c1542d2c90e729bef7e79df746e0331ab7fd19c86e3ff4792dc9f5\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt@sha256:7252182dde9fab1bd86077cf7b32e32271440bbd66e67dff9877b220730827b1"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "191167a139dad534a9fb2673bb2431aa6ed15f89"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":141,\"low\":225}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-13T00:22:12Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/api/v1/log/entries?logIndex=111",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "75691824438",
                    "pipelinesascode.tekton.dev/controller-info": "{\"name\":\"default\",\"configmap\":\"pipelines-as-code\",\"secret\":\"pipelines-as-code-secret\", \"gRepo\": \"pipelines-as-code\"}",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/git-auth-secret": "pac-gitauth-tcgzwr",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-6fa8ce2d44.kf77.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-joibzmxt-on-push-87br4",
                    "pipelinesascode.tekton.dev/max-keep-runs": "2",
                    "pipelinesascode.tekton.dev/on-event": "[push]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-on-push",
                    "pipelinesascode.tekton.dev/pipeline": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/pipelines/docker-build-tssc.yaml",
                    "pipelinesascode.tekton.dev/repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "b542e022ffb8fcd38482c3f4b48105fb0c1bce15",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778631722443",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt/commit/b542e022ffb8fcd38482c3f4b48105fb0c1bce15",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/task-0": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/init.yaml",
                    "pipelinesascode.tekton.dev/task-1": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/git-clone.yaml",
                    "pipelinesascode.tekton.dev/task-10": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload.yaml",
                    "pipelinesascode.tekton.dev/task-11": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/scan-workload.yaml",
                    "pipelinesascode.tekton.dev/task-12": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summarize-workload.yaml",
                    "pipelinesascode.tekton.dev/task-13": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-workload-sbom.yaml",
                    "pipelinesascode.tekton.dev/task-14": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/deploy-workload-check.yaml",
                    "pipelinesascode.tekton.dev/task-2": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/buildah-rhtap.yaml",
                    "pipelinesascode.tekton.dev/task-3": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-check.yaml",
                    "pipelinesascode.tekton.dev/task-4": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-image-scan.yaml",
                    "pipelinesascode.tekton.dev/task-5": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/acs-deploy-check.yaml",
                    "pipelinesascode.tekton.dev/task-6": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/update-deployment.yaml",
                    "pipelinesascode.tekton.dev/task-7": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/show-sbom-rhdh.yaml",
                    "pipelinesascode.tekton.dev/task-8": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/summary.yaml",
                    "pipelinesascode.tekton.dev/task-9": "https://raw.githubusercontent.com/redhat-appstudio/tssc-dev-multi-ci/main/samples/tekton/pac/tasks/build-workload.yaml",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt",
                    "results.tekton.dev/record": "tssc-app-ci/results/2c802aff-33c9-42fc-abb3-1a0897110a1d/records/2c802aff-33c9-42fc-abb3-1a0897110a1d",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-joibzmxt\",\"commit\":\"b542e022ffb8fcd38482c3f4b48105fb0c1bce15\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/2c802aff-33c9-42fc-abb3-1a0897110a1d",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-13T00:25:32Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-joibzmxt-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-joibzmxt",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-id": "e2e-tests-python-joibzmxt",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-joibzmxt",
                    "pipelinesascode.tekton.dev/check-run-id": "75691824438",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-joibzmxt-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-joibzmxt-repository",
                    "pipelinesascode.tekton.dev/sha": "b542e022ffb8fcd38482c3f4b48105fb0c1bce15",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-joibzmxt",
                    "tekton.dev/pipeline": "e2e-tests-python-joibzmxt-on-push-87br4"
                },
                "name": "e2e-tests-python-joibzmxt-on-push-87br4",
                "namespace": "tssc-app-ci",
                "resourceVersion": "47609",
                "uid": "2c802aff-33c9-42fc-abb3-1a0897110a1d"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                    },
                    {
                        "name": "event-type",
                        "value": "push"
                    },
                    {
                        "name": "gitops-auth-secret-name",
                        "value": "gitops-auth-secret"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "$(params.git-url)"
                                },
                                {
                                    "name": "revision",
                                    "value": "$(params.revision)"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "$(params.revision)"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "$(params.cosign-public-key-secret)"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "$(params.trustification-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "$(params.dockerfile)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "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": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "$(params.gitops-auth-secret-name)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(params.event-type)",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "$(params.stackrox-secret)"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "$(params.output-image)"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "$(params.path-context)"
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "$(params.image-expires-after)"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ]
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "taskRunTemplate": {
                    "serviceAccountName": "pipeline"
                },
                "timeouts": {
                    "pipeline": "1h0m0s"
                },
                "workspaces": [
                    {
                        "name": "gitops-auth",
                        "secret": {
                            "secretName": "$(params.gitops-auth-secret-name)"
                        }
                    },
                    {
                        "name": "git-auth",
                        "secret": {
                            "secretName": "pac-gitauth-tcgzwr"
                        }
                    },
                    {
                        "name": "workspace",
                        "volumeClaimTemplate": {
                            "metadata": {
                                "creationTimestamp": null
                            },
                            "spec": {
                                "accessModes": [
                                    "ReadWriteOnce"
                                ],
                                "resources": {
                                    "requests": {
                                        "storage": "1Gi"
                                    }
                                }
                            },
                            "status": {}
                        }
                    }
                ]
            },
            "status": {
                "childReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-joibzmxt-on-push-87br4-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-13T00:28:35Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-13T00:28:35Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "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": "",
                            "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": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "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": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt"
                                },
                                {
                                    "name": "revision",
                                    "value": "b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "depth",
                                    "value": "0"
                                }
                            ],
                            "taskSpec": {
                                "description": "The git-clone Task will clone a repo from the provided url into the output Workspace. By default the repo will be cloned into the root of your Workspace.",
                                "metadata": {
                                    "annotations": {
                                        "tekton.dev/categories": "Git",
                                        "tekton.dev/displayName": "git clone",
                                        "tekton.dev/pipelines.minVersion": "0.21.0",
                                        "tekton.dev/platforms": "linux/amd64,linux/s390x,linux/ppc64le,linux/arm64",
                                        "tekton.dev/tags": "git"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Repository URL to clone from.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Revision to checkout. (branch, tag, sha, ref, etc...)",
                                        "name": "revision",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Refspec to fetch before checking out revision.",
                                        "name": "refspec",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Initialize and fetch git submodules.",
                                        "name": "submodules",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Comma-separated list of specific submodule paths to initialize and fetch. Only submodules in the specified directories and their subdirectories will be fetched.\nEmpty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.\n",
                                        "name": "submodulePaths",
                                        "type": "string"
                                    },
                                    {
                                        "default": "1",
                                        "description": "Perform a shallow clone, fetching only the most recent N commits.",
                                        "name": "depth",
                                        "type": "string"
                                    },
                                    {
                                        "default": "7",
                                        "description": "Length of short commit SHA",
                                        "name": "shortCommitLength",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Set the `http.sslVerify` global git config. Setting this to `false` is not advised unless you are sure that you trust your git remote.",
                                        "name": "sslVerify",
                                        "type": "string"
                                    },
                                    {
                                        "default": "source",
                                        "description": "Subdirectory inside the `output` Workspace to clone the repo into.",
                                        "name": "subdirectory",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Define the directory patterns to match or exclude when performing a sparse checkout.",
                                        "name": "sparseCheckoutDirectories",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Clean out the contents of the destination directory if it already exists before cloning.",
                                        "name": "deleteExisting",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTP proxy server for non-SSL requests.",
                                        "name": "httpProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "HTTPS proxy server for SSL requests.",
                                        "name": "httpsProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Opt out of proxying HTTP/HTTPS requests.",
                                        "name": "noProxy",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Log the commands that are executed during `git-clone`'s operation.",
                                        "name": "verbose",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Deprecated. Has no effect. Will be removed in the future.",
                                        "name": "gitInitImage",
                                        "type": "string"
                                    },
                                    {
                                        "default": "/tekton/home",
                                        "description": "Absolute path to the user's home directory. Set this explicitly if you are running the image as a non-root user.\n",
                                        "name": "userHome",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Check symlinks in the repo. If they're pointing outside of the repo, the build will fail.\n",
                                        "name": "enableSymlinkCheck",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Fetch all tags for the repo.",
                                        "name": "fetchTags",
                                        "type": "string"
                                    },
                                    {
                                        "default": "trusted-ca",
                                        "description": "The name of the ConfigMap to read CA bundle data from.",
                                        "name": "caTrustConfigMapName",
                                        "type": "string"
                                    },
                                    {
                                        "default": "ca-bundle.crt",
                                        "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                                        "name": "caTrustConfigMapKey",
                                        "type": "string"
                                    },
                                    {
                                        "default": "false",
                                        "description": "Set to \"true\" to merge the targetBranch into the checked-out revision.",
                                        "name": "mergeTargetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "main",
                                        "description": "The target branch to merge into the revision (if mergeTargetBranch is true).",
                                        "name": "targetBranch",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "URL of the repository to fetch the target branch from when mergeTargetBranch is true.\nIf empty, uses the same repository (origin). This allows merging a branch from a different repository.\n",
                                        "name": "mergeSourceRepoUrl",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Perform a shallow fetch of the target branch, fetching only the most recent N commits.\nIf empty, fetches the full history of the target branch.\n",
                                        "name": "mergeSourceDepth",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task.",
                                        "name": "commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit SHA that was fetched by this Task limited to params.shortCommitLength number of characters",
                                        "name": "short-commit",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task.",
                                        "name": "url",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The commit timestamp of the checkout",
                                        "name": "commit-timestamp",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise URL that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The precise commit SHA that was fetched by this Task. This result uses Chains type hinting to include in the provenance.",
                                        "name": "CHAINS-GIT_COMMIT",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The SHA of the commit after merging the target branch (if the param mergeTargetBranch is true).",
                                        "name": "merged_sha",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_URL",
                                                "value": "$(params.url)"
                                            },
                                            {
                                                "name": "PARAM_REVISION",
                                                "value": "b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "build",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "cosign-public-secret-name",
                                    "value": "cosign-pub"
                                },
                                {
                                    "name": "tpa_secret_name",
                                    "value": "tpa-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "docker/Dockerfile"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                },
                                {
                                    "name": "BUILD_ARGS",
                                    "value": []
                                },
                                {
                                    "name": "BUILD_ARGS_FILE",
                                    "value": ""
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Builds source code into a container image and pushes the image into container registry using buildah tool.\nIn addition it generates a SBOM file, injects the SBOM file into final container image and pushes the SBOM file as separate image using cosign tool.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "build-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "./Dockerfile",
                                        "description": "Path to the Dockerfile to build.",
                                        "name": "DOCKERFILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                                        "name": "TLSVERIFY",
                                        "type": "string"
                                    },
                                    {
                                        "default": [],
                                        "description": "Array of --build-arg values (\"arg=value\" strings)",
                                        "name": "BUILD_ARGS",
                                        "type": "array"
                                    },
                                    {
                                        "default": "",
                                        "description": "Path to a file with build arguments, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                                        "name": "BUILD_ARGS_FILE",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Digest of the image just built",
                                        "name": "IMAGE_DIGEST",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Image repository and tag where the built image was pushed",
                                        "name": "IMAGE_URL",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Digests of the base images used for build",
                                        "name": "BASE_IMAGES_DIGESTS",
                                        "type": "string"
                                    },
                                    {
                                        "description": "Link to the SBOM layer pushed to the registry as part of an OCI artifact.",
                                        "name": "SBOM_BLOB_URL",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "DOCKERFILE",
                                            "value": "$(params.DOCKERFILE)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "TLSVERIFY",
                                            "value": "$(params.TLSVERIFY)"
                                        },
                                        {
                                            "name": "BUILD_ARGS_FILE",
                                            "value": "$(params.BUILD_ARGS_FILE)"
                                        },
                                        {
                                            "name": "_BUILDAH_STARTED_IN_USERNS"
                                        },
                                        {
                                            "name": "BUILDAH_ISOLATION",
                                            "value": "chroot"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_PASSWORD",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "COSIGN_SECRET_KEY",
                                            "value": "dummy"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.tpa_secret_name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "cosign.pub",
                                                    "name": "$(params.cosign-public-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "# Sync scripts to the writable workspace\ncp -rf /work/tssc/ /workspace/source/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e /workspace/source/tssc/common.sh\necho \"Successfully patched /workspace/source/tssc/common.sh\"\necho \"running init\"\npwd\nls -la\n/workspace/source/tssc/init.sh\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "args": [
                                            "$(params.BUILD_ARGS[*])"
                                        ],
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "DOCKERFILE",
                                                "value": "$(params.DOCKERFILE)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "TLSVERIFY",
                                                "value": "$(params.TLSVERIFY)"
                                            },
                                            {
                                                "name": "BUILD_ARGS_FILE",
                                                "value": "$(params.BUILD_ARGS_FILE)"
                                            },
                                            {
                                                "name": "_BUILDAH_STARTED_IN_USERNS"
                                            },
                                            {
                                                "name": "BUILDAH_ISOLATION",
                                                "value": "chroot"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_PASSWORD",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "COSIGN_SECRET_KEY",
                                                "value": "dummy"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.tpa_secret_name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "cosign.pub",
                                                        "name": "$(params.cosign-public-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "build",
                                        "script": "echo \"running buildah-tssc\"\n/workspace/source/tssc/buildah-tssc.sh\ncat ./results/buildah-tssc/BASE_IMAGES_DIGESTS \u003e $(results.BASE_IMAGES_DIGESTS.path)\ncat ./results/buildah-tssc/IMAGE_DIGEST \u003e $(results.IMAGE_DIGEST.path)\ncat ./results/buildah-tssc/IMAGE_URL \u003e $(results.IMAGE_URL.path)\ncat ./results/buildah-tssc/SBOM_BLOB_URL \u003e $(results.SBOM_BLOB_URL.path)\n",
                                        "securityContext": {
                                            "capabilities": {
                                                "add": [
                                                    "SETFCAP"
                                                ]
                                            }
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deploy",
                            "params": [
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Deploy built image to development environment.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy",
                                        "script": "echo \"running update-deployment\"\n/workspace/source/tssc/update-deployment.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "notin",
                                    "values": [
                                        "pull_request",
                                        "Merge Request"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "deployment-check",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "gitops-secret-name",
                                    "value": "gitops-auth-secret"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "deploy-workload-check",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_PASSWORD",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "password",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "GITOPS_AUTH_USERNAME",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "username",
                                                    "name": "$(params.gitops-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_PASSWORD",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "password",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "GITOPS_AUTH_USERNAME",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "username",
                                                        "name": "$(params.gitops-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "deploy-check",
                                        "script": "echo \"running acs-deploy-check\"\n/workspace/source/tssc/acs-deploy-check.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "push",
                                    "operator": "in",
                                    "values": [
                                        "push",
                                        "Push"
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "scan",
                            "params": [
                                {
                                    "name": "rox-secret-name",
                                    "value": "rox-api-token"
                                },
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "build"
                            ],
                            "taskSpec": {
                                "description": "Scan image built for vulnerabilities.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "scan-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Summary of the roxctl scan",
                                        "name": "SCAN_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "ROX_CENTRAL_ENDPOINT",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-endpoint",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "ROX_API_TOKEN",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rox-api-token",
                                                    "name": "$(params.rox-secret-name)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "ROX_CENTRAL_ENDPOINT",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-endpoint",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "ROX_API_TOKEN",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rox-api-token",
                                                        "name": "$(params.rox-secret-name)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "scan",
                                        "script": "echo \"running acs-image-check\"\n/workspace/source/tssc/acs-image-check.sh\necho \"running acs-image-scan\"\n/workspace/source/tssc/acs-image-scan.sh\ncat ./results/acs-image-scan/SCAN_OUTPUT \u003e $(results.SCAN_OUTPUT.path)\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "show-sbom",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Show SBOM report for the built image.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "show-workload-sbom",
                                        "task.output.location": "results",
                                        "task.results.format": "application/text",
                                        "task.results.key": "LINK_TO_SBOM",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Placeholder result meant to make RHDH identify this task as the producer of the SBOM logs.",
                                        "name": "LINK_TO_SBOM",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "show-sbom",
                                        "script": "echo \"running show-sbom-rhdh\"\n/workspace/source/tssc/show-sbom-rhdh.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "summarize",
                            "params": [
                                {
                                    "name": "IMAGE",
                                    "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                                },
                                {
                                    "name": "CONTEXT",
                                    "value": "."
                                },
                                {
                                    "name": "IMAGE_EXPIRES_AFTER",
                                    "value": "5d"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "$(tasks.clone-repository.results.commit)"
                                }
                            ],
                            "runAfter": [
                                "deploy",
                                "scan"
                            ],
                            "taskSpec": {
                                "description": "Summarize all the steps in the build pipeline.",
                                "metadata": {
                                    "annotations": {
                                        "build.appstudio.redhat.com/build-type": "docker",
                                        "build.appstudio.redhat.com/task-name": "summarize-workload",
                                        "tekton.dev/pipelines.minVersion": "0.12.1",
                                        "tekton.dev/tags": "containers, tssc"
                                    },
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1",
                                        "build.appstudio.redhat.com/build_type": "docker"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "Reference of the image buildah will produce.",
                                        "name": "IMAGE",
                                        "type": "string"
                                    },
                                    {
                                        "default": ".",
                                        "description": "Path to the directory to use as context.",
                                        "name": "CONTEXT",
                                        "type": "string"
                                    },
                                    {
                                        "default": "vfs",
                                        "description": "Storage driver to configure for buildah",
                                        "name": "STORAGE_DRIVER",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STORAGE_DRIVER",
                                            "value": "$(params.STORAGE_DRIVER)"
                                        },
                                        {
                                            "name": "CONTEXT",
                                            "value": "$(params.CONTEXT)"
                                        },
                                        {
                                            "name": "IMAGE",
                                            "value": "$(params.IMAGE)"
                                        },
                                        {
                                            "name": "IMAGE_URL",
                                            "value": "$(params.IMAGE)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STORAGE_DRIVER",
                                                "value": "$(params.STORAGE_DRIVER)"
                                            },
                                            {
                                                "name": "CONTEXT",
                                                "value": "$(params.CONTEXT)"
                                            },
                                            {
                                                "name": "IMAGE",
                                                "value": "$(params.IMAGE)"
                                            },
                                            {
                                                "name": "IMAGE_URL",
                                                "value": "$(params.IMAGE)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "summary",
                                        "script": "echo \"running summary\"\n/workspace/source/tssc/summary.sh\n",
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/var/lib/containers",
                                                "name": "varlibcontainers"
                                            },
                                            {
                                                "mountPath": "/tmp/files",
                                                "name": "tmpfiles"
                                            }
                                        ],
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "emptyDir": {},
                                        "name": "varlibcontainers"
                                    },
                                    {
                                        "emptyDir": {},
                                        "name": "tmpfiles"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Workspace containing the source code to build.",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:32bffc07803280ad7ddc9b67864522d0f331719164597b7d66e019568e64f7ae"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt:b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/python-312:latest@sha256:bf2f5a3cf0c1542d2c90e729bef7e79df746e0331ab7fd19c86e3ff4792dc9f5\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-joibzmxt@sha256:354544f698d68da6e236419a259aa9264f35105c7ad439513a3b9737502bf813"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-joibzmxt"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "b542e022ffb8fcd38482c3f4b48105fb0c1bce15"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":141,\"low\":225}}\n"
                    }
                ],
                "startTime": "2026-05-13T00:25:32Z"
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
