{
    "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=142",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140037989",
                    "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-kzglks",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request-h2vqr",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-wkleevsi-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-wkleevsi-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "13d82e12f4faa058da6afa19ab0a7755e607309b",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi-gitops/commit/13d82e12f4faa058da6afa19ab0a7755e607309b",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1783175383505",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi-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-wkleevsi-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/795d2935-dcc5-4f30-8741-b41cf14b7e24/records/795d2935-dcc5-4f30-8741-b41cf14b7e24",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-wkleevsi-gitops\",\"commit\":\"13d82e12f4faa058da6afa19ab0a7755e607309b\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/795d2935-dcc5-4f30-8741-b41cf14b7e24",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:29:53Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-wkleevsi",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-wkleevsi",
                    "pipelinesascode.tekton.dev/check-run-id": "85140037989",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "13d82e12f4faa058da6afa19ab0a7755e607309b",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-wkleevsi-gitops",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request"
                },
                "name": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request-h2vqr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "50025",
                "uid": "795d2935-dcc5-4f30-8741-b41cf14b7e24"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "13d82e12f4faa058da6afa19ab0a7755e607309b"
                    },
                    {
                        "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-kzglks"
                        }
                    },
                    {
                        "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-dotnd467f0457156f11af49b3a9ff150f9d1-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basd467f0457156f11af49b3a9ff150f9d1-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotned467f0457156f11af49b3a9ff150f9d1-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnetd467f0457156f11af49b3a9ff150f9d1-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-bd467f0457156f11af49b3a9ff150f9d1-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:30:44Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:30:44Z",
                        "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-wkleevsi-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "13d82e12f4faa058da6afa19ab0a7755e607309b"
                                },
                                {
                                    "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": "13d82e12f4faa058da6afa19ab0a7755e607309b"
                                            },
                                            {
                                                "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-07-04T14:29: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=110",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139925479",
                    "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-etnzsn",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request-tnm69",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-wkleevsi-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-wkleevsi-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "f37863b3b0c8d5f1114af0dbde2f082a9f310f7f",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi-gitops/commit/f37863b3b0c8d5f1114af0dbde2f082a9f310f7f",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1783175281579",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi-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-wkleevsi-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/b1a2c7f1-f8a1-4a37-bfb7-e19635b9a176/records/b1a2c7f1-f8a1-4a37-bfb7-e19635b9a176",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-wkleevsi-gitops\",\"commit\":\"f37863b3b0c8d5f1114af0dbde2f082a9f310f7f\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/b1a2c7f1-f8a1-4a37-bfb7-e19635b9a176",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:28:11Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-wkleevsi",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-wkleevsi",
                    "pipelinesascode.tekton.dev/check-run-id": "85139925479",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "f37863b3b0c8d5f1114af0dbde2f082a9f310f7f",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-wkleevsi-gitops",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request"
                },
                "name": "e2e-tests-dotnet-basic-wkleevsi-gitops-on-pull-request-tnm69",
                "namespace": "tssc-app-ci",
                "resourceVersion": "46460",
                "uid": "b1a2c7f1-f8a1-4a37-bfb7-e19635b9a176"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "f37863b3b0c8d5f1114af0dbde2f082a9f310f7f"
                    },
                    {
                        "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-etnzsn"
                        }
                    },
                    {
                        "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-dotn79600500eb0599f0c6a755bae8e0a9d6-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-bas79600500eb0599f0c6a755bae8e0a9d6-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotne79600500eb0599f0c6a755bae8e0a9d6-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet79600500eb0599f0c6a755bae8e0a9d6-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-b79600500eb0599f0c6a755bae8e0a9d6-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:28:53Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:28:53Z",
                        "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-wkleevsi-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "f37863b3b0c8d5f1114af0dbde2f082a9f310f7f"
                                },
                                {
                                    "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": "f37863b3b0c8d5f1114af0dbde2f082a9f310f7f"
                                            },
                                            {
                                                "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-07-04T14:28:11Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=30",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139521050",
                    "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-rngpzz",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-wkleevsi-on-pull-request-dcwwm",
                    "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-wkleevsi-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-wkleevsi",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "bfe397989177a4bf11c0fbaef1e6af52813bcf6a",
                    "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-wkleevsi/commit/bfe397989177a4bf11c0fbaef1e6af52813bcf6a",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1783174914211",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi",
                    "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-wkleevsi",
                    "results.tekton.dev/record": "tssc-app-ci/results/82c0dff1-345c-4223-86fc-964852e032d8/records/82c0dff1-345c-4223-86fc-964852e032d8",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-wkleevsi\",\"commit\":\"bfe397989177a4bf11c0fbaef1e6af52813bcf6a\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/82c0dff1-345c-4223-86fc-964852e032d8",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:22:03Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-wkleevsi",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-wkleevsi",
                    "pipelinesascode.tekton.dev/check-run-id": "85139521050",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-repository",
                    "pipelinesascode.tekton.dev/sha": "bfe397989177a4bf11c0fbaef1e6af52813bcf6a",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-wkleevsi",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request"
                },
                "name": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request-dcwwm",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39608",
                "uid": "82c0dff1-345c-4223-86fc-964852e032d8"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                    },
                    {
                        "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-rngpzz"
                        }
                    },
                    {
                        "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-dotn48b04773918183e48651b42b55a8727c-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request-dcwwm-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request-dcwwm-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request-dcwwm-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-pull-request-dcwwm-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:24:25Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14: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-wkleevsi"
                                },
                                {
                                    "name": "revision",
                                    "value": "bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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": "bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                            },
                                            {
                                                "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-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                                },
                                {
                                    "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:1109f65af7469609f2426836a897e341d85a5d7f7ea62af220439bf63c3af207"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:on-pr-bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                    },
                    {
                        "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-wkleevsi@sha256:bf3f9b1a73b3028f29b8cbfbaa77a489323285f54c7432ff07d9c373d1074748"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "bfe397989177a4bf11c0fbaef1e6af52813bcf6a"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":60,\"medium\":202,\"low\":236}}\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-07-04T14:22:03Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=76",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139704378",
                    "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-fuujef",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv",
                    "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-wkleevsi-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-wkleevsi",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1783174914211",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi/commit/7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi",
                    "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-wkleevsi",
                    "results.tekton.dev/record": "tssc-app-ci/results/d7e30604-4bb9-4075-ba94-a50cd029e10e/records/d7e30604-4bb9-4075-ba94-a50cd029e10e",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-wkleevsi\",\"commit\":\"7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/d7e30604-4bb9-4075-ba94-a50cd029e10e",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:24:48Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-wkleevsi-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-wkleevsi",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-wkleevsi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-wkleevsi",
                    "pipelinesascode.tekton.dev/check-run-id": "85139704378",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-wkleevsi-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-wkleevsi-repository",
                    "pipelinesascode.tekton.dev/sha": "7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-wkleevsi",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-wkleevsi-on-push"
                },
                "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv",
                "namespace": "tssc-app-ci",
                "resourceVersion": "43196",
                "uid": "d7e30604-4bb9-4075-ba94-a50cd029e10e"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                    },
                    {
                        "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-fuujef"
                        }
                    },
                    {
                        "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-wkleevsi-on-push-qhwpv-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-wkleevsi-on-push-qhwpv-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:26:55Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:26:55Z",
                        "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-wkleevsi"
                                },
                                {
                                    "name": "revision",
                                    "value": "7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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": "7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                            },
                                            {
                                                "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-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                                },
                                {
                                    "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:c0e06df8d33a7f070dc7d376805524b223936f4c72b4d078a1bcc70d19c4fd13"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-wkleevsi:7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                    },
                    {
                        "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-wkleevsi@sha256:5651b5f1cde7c121f77236c6218cfa1688e51bf2c42c178a9fc4e7791f823d7b"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-wkleevsi"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "7e75cd9ea1d4f97240304f37ec2c4f3ac7d2207b"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":60,\"medium\":202,\"low\":236}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:24:48Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=120",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139958345",
                    "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-gqqygi",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-dubnvamz-gitops-on-pull-request-8hhzx",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-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-dubnvamz-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "24fc1b411f8d84888c95fe5c394793c4d62b96c8",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz-gitops/commit/24fc1b411f8d84888c95fe5c394793c4d62b96c8",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1783175310706",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz-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-dubnvamz-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/faa26775-8f90-4c81-879c-42ae112c9522/records/faa26775-8f90-4c81-879c-42ae112c9522",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-dubnvamz-gitops\",\"commit\":\"24fc1b411f8d84888c95fe5c394793c4d62b96c8\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/faa26775-8f90-4c81-879c-42ae112c9522",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:28:41Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-go-dubnvamz-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-dubnvamz",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-dubnvamz",
                    "pipelinesascode.tekton.dev/check-run-id": "85139958345",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "24fc1b411f8d84888c95fe5c394793c4d62b96c8",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-dubnvamz-gitops",
                    "tekton.dev/pipeline": "e2e-tests-go-dubnvamz-gitops-on-pull-request"
                },
                "name": "e2e-tests-go-dubnvamz-gitops-on-pull-request-8hhzx",
                "namespace": "tssc-app-ci",
                "resourceVersion": "47508",
                "uid": "faa26775-8f90-4c81-879c-42ae112c9522"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "24fc1b411f8d84888c95fe5c394793c4d62b96c8"
                    },
                    {
                        "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-gqqygi"
                        }
                    },
                    {
                        "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-d6e245d5ff6aad2337da2932bc4d0e24d-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-gitops-on-pull-request-8hhzx-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-du6e245d5ff6aad2337da2932bc4d0e24d-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dub6e245d5ff6aad2337da2932bc4d0e24d-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-gitops-on-pull-request-8hhzx-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:29:31Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:29:31Z",
                        "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-dubnvamz-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "24fc1b411f8d84888c95fe5c394793c4d62b96c8"
                                },
                                {
                                    "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": "24fc1b411f8d84888c95fe5c394793c4d62b96c8"
                                            },
                                            {
                                                "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-07-04T14:28:41Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=88",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139846092",
                    "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-kgfypi",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-dubnvamz-gitops-on-pull-request-s25kg",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-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-dubnvamz-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "319774b09fe695e8dba81de31f0586668f4a6851",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz-gitops/commit/319774b09fe695e8dba81de31f0586668f4a6851",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1783175206496",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz-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-dubnvamz-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/6b65bcd7-ee9b-4440-86ac-e84b5f26414c/records/6b65bcd7-ee9b-4440-86ac-e84b5f26414c",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-dubnvamz-gitops\",\"commit\":\"319774b09fe695e8dba81de31f0586668f4a6851\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/6b65bcd7-ee9b-4440-86ac-e84b5f26414c",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:26:56Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-go-dubnvamz-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-dubnvamz",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-dubnvamz",
                    "pipelinesascode.tekton.dev/check-run-id": "85139846092",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "319774b09fe695e8dba81de31f0586668f4a6851",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-dubnvamz-gitops",
                    "tekton.dev/pipeline": "e2e-tests-go-dubnvamz-gitops-on-pull-request"
                },
                "name": "e2e-tests-go-dubnvamz-gitops-on-pull-request-s25kg",
                "namespace": "tssc-app-ci",
                "resourceVersion": "44580",
                "uid": "6b65bcd7-ee9b-4440-86ac-e84b5f26414c"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "319774b09fe695e8dba81de31f0586668f4a6851"
                    },
                    {
                        "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-kgfypi"
                        }
                    },
                    {
                        "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-def7ea5aa1ea6cd0de720d81444e0c275-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-gitops-on-pull-request-s25kg-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-duef7ea5aa1ea6cd0de720d81444e0c275-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubef7ea5aa1ea6cd0de720d81444e0c275-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-gitops-on-pull-request-s25kg-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:27:41Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:27:41Z",
                        "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-dubnvamz-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "319774b09fe695e8dba81de31f0586668f4a6851"
                                },
                                {
                                    "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": "319774b09fe695e8dba81de31f0586668f4a6851"
                                            },
                                            {
                                                "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-07-04T14:26:56Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=23",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139525848",
                    "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-yxwnnj",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-dubnvamz-on-pull-request-bzdpp",
                    "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-dubnvamz-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-dubnvamz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852",
                    "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-dubnvamz/commit/5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1783174918012",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz",
                    "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-dubnvamz",
                    "results.tekton.dev/record": "tssc-app-ci/results/5502a1e9-eaea-4300-bc64-a10d822cb39a/records/5502a1e9-eaea-4300-bc64-a10d822cb39a",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-dubnvamz\",\"commit\":\"5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/5502a1e9-eaea-4300-bc64-a10d822cb39a",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:22:07Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-dubnvamz-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-dubnvamz",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-dubnvamz",
                    "pipelinesascode.tekton.dev/check-run-id": "85139525848",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-repository",
                    "pipelinesascode.tekton.dev/sha": "5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-dubnvamz",
                    "tekton.dev/pipeline": "e2e-tests-go-dubnvamz-on-pull-request"
                },
                "name": "e2e-tests-go-dubnvamz-on-pull-request-bzdpp",
                "namespace": "tssc-app-ci",
                "resourceVersion": "38896",
                "uid": "5502a1e9-eaea-4300-bc64-a10d822cb39a"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                    },
                    {
                        "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-yxwnnj"
                        }
                    },
                    {
                        "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-dubnvamz-on-pull-request-bzdpp-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-pull-request-bzdpp-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-pull-request-bzdpp-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-pull-request-bzdpp-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-pull-request-bzdpp-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:24:08Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:24:08Z",
                        "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-dubnvamz"
                                },
                                {
                                    "name": "revision",
                                    "value": "5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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": "5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                            },
                                            {
                                                "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-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                                },
                                {
                                    "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:7096579b574a16391bb592994d445e611a196501426665485e0234a6ec64f447"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz:on-pr-5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/ubi-micro:latest@sha256:35de56a9413112f1474e392ebc35e0cf6f0fb484c8e8877bbae59b513694b41f\nregistry.access.redhat.com/ubi9/go-toolset:9.7-1776213685@sha256:77bfb0f283eaa3215909342c3dda940605eff5b9f72d6dc18fad1d154d172d55\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz@sha256:d420733c288af595f3dd49904eec462aa99f1804fdd51eb7cd733a86a44c34d3"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "5df8fb699cc7dc3c2a6e6e32b7414cb28c6db852"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":8,\"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-07-04T14:22:08Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=13",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139465845",
                    "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-rqgrin",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-dubnvamz-on-push-2lckn",
                    "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-dubnvamz-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-dubnvamz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-qe-ci[bot]",
                    "pipelinesascode.tekton.dev/sha": "86bd607738a3f18510f70e4554c7c903a09884df",
                    "pipelinesascode.tekton.dev/sha-title": "initial commit",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz/commit/86bd607738a3f18510f70e4554c7c903a09884df",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz",
                    "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-dubnvamz",
                    "results.tekton.dev/record": "tssc-app-ci/results/787610c2-3c77-41ca-96d8-cb1e485c8de5/records/787610c2-3c77-41ca-96d8-cb1e485c8de5",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-dubnvamz\",\"commit\":\"86bd607738a3f18510f70e4554c7c903a09884df\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/787610c2-3c77-41ca-96d8-cb1e485c8de5",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:21:12Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-go-dubnvamz-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-dubnvamz",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-dubnvamz",
                    "pipelinesascode.tekton.dev/check-run-id": "85139465845",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-repository",
                    "pipelinesascode.tekton.dev/sha": "86bd607738a3f18510f70e4554c7c903a09884df",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-dubnvamz",
                    "tekton.dev/pipeline": "e2e-tests-go-dubnvamz-on-push"
                },
                "name": "e2e-tests-go-dubnvamz-on-push-2lckn",
                "namespace": "tssc-app-ci",
                "resourceVersion": "38011",
                "uid": "787610c2-3c77-41ca-96d8-cb1e485c8de5"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "86bd607738a3f18510f70e4554c7c903a09884df"
                    },
                    {
                        "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-rqgrin"
                        }
                    },
                    {
                        "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-dubnvamz-on-push-2lckn-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-2lckn-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-2lckn-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-2lckn-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-2lckn-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-2lckn-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-2lckn-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:23:16Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:23:16Z",
                        "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-dubnvamz"
                                },
                                {
                                    "name": "revision",
                                    "value": "86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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": "86bd607738a3f18510f70e4554c7c903a09884df"
                                            },
                                            {
                                                "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-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                                },
                                {
                                    "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:dbf064cee76bc444994ead048cc83706feb8e4aa2efd4ca62c8fd7e479ce0e65"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz:86bd607738a3f18510f70e4554c7c903a09884df"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/ubi-micro:latest@sha256:35de56a9413112f1474e392ebc35e0cf6f0fb484c8e8877bbae59b513694b41f\nregistry.access.redhat.com/ubi9/go-toolset:9.7-1776213685@sha256:77bfb0f283eaa3215909342c3dda940605eff5b9f72d6dc18fad1d154d172d55\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz@sha256:2167e0d937093ad9a38cdf77399719a975bd7b11e84bf50b40de8f776c939029"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "86bd607738a3f18510f70e4554c7c903a09884df"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":8,\"low\":12}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:21: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=60",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139668749",
                    "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-bduwsb",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-dubnvamz-on-push-bcpn9",
                    "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-dubnvamz-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-dubnvamz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "c6d973fd11d88e76b888d48bd80c30b280f87b41",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1783174918012",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz/commit/c6d973fd11d88e76b888d48bd80c30b280f87b41",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz",
                    "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-dubnvamz",
                    "results.tekton.dev/record": "tssc-app-ci/results/63ed0a29-b6b5-4c61-a95f-d19f6893a2f3/records/63ed0a29-b6b5-4c61-a95f-d19f6893a2f3",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-dubnvamz\",\"commit\":\"c6d973fd11d88e76b888d48bd80c30b280f87b41\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/63ed0a29-b6b5-4c61-a95f-d19f6893a2f3",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:24:16Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-go-dubnvamz-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-dubnvamz",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-dubnvamz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-dubnvamz",
                    "pipelinesascode.tekton.dev/check-run-id": "85139668749",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-dubnvamz-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-dubnvamz-repository",
                    "pipelinesascode.tekton.dev/sha": "c6d973fd11d88e76b888d48bd80c30b280f87b41",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-dubnvamz",
                    "tekton.dev/pipeline": "e2e-tests-go-dubnvamz-on-push"
                },
                "name": "e2e-tests-go-dubnvamz-on-push-bcpn9",
                "namespace": "tssc-app-ci",
                "resourceVersion": "42017",
                "uid": "63ed0a29-b6b5-4c61-a95f-d19f6893a2f3"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "c6d973fd11d88e76b888d48bd80c30b280f87b41"
                    },
                    {
                        "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-bduwsb"
                        }
                    },
                    {
                        "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-dubnvamz-on-push-bcpn9-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-bcpn9-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-bcpn9-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-bcpn9-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-bcpn9-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-bcpn9-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-dubnvamz-on-push-bcpn9-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:26:09Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:26:09Z",
                        "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-dubnvamz"
                                },
                                {
                                    "name": "revision",
                                    "value": "c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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": "c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                            },
                                            {
                                                "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-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                                },
                                {
                                    "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:b27fbcf15127e76b36ff448abbae67de36daf7524c4111bb5ee315d871a77d12"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz:c6d973fd11d88e76b888d48bd80c30b280f87b41"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/ubi-micro:latest@sha256:35de56a9413112f1474e392ebc35e0cf6f0fb484c8e8877bbae59b513694b41f\nregistry.access.redhat.com/ubi9/go-toolset:9.7-1776213685@sha256:77bfb0f283eaa3215909342c3dda940605eff5b9f72d6dc18fad1d154d172d55\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-dubnvamz@sha256:87490559195b95b6a3fa762bc6bcdddc953467875389ebe2c12134966a0fcff5"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-dubnvamz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "c6d973fd11d88e76b888d48bd80c30b280f87b41"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":8,\"low\":12}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:24:17Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=147",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140073816",
                    "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-ytznio",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request-f7srz",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-zmvbsize-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-zmvbsize-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "c13a44d92b9ad15f6fe01d8dc4060839eddb0018",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize-gitops/commit/c13a44d92b9ad15f6fe01d8dc4060839eddb0018",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1783175410846",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize-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-zmvbsize-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/cc81abfb-d8f4-443f-83ec-e417bcfd530b/records/cc81abfb-d8f4-443f-83ec-e417bcfd530b",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-zmvbsize-gitops\",\"commit\":\"c13a44d92b9ad15f6fe01d8dc4060839eddb0018\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/cc81abfb-d8f4-443f-83ec-e417bcfd530b",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:30:20Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-zmvbsize",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-zmvbsize",
                    "pipelinesascode.tekton.dev/check-run-id": "85140073816",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "c13a44d92b9ad15f6fe01d8dc4060839eddb0018",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-zmvbsize-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request"
                },
                "name": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request-f7srz",
                "namespace": "tssc-app-ci",
                "resourceVersion": "50697",
                "uid": "cc81abfb-d8f4-443f-83ec-e417bcfd530b"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "c13a44d92b9ad15f6fe01d8dc4060839eddb0018"
                    },
                    {
                        "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-ytznio"
                        }
                    },
                    {
                        "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-javacb9780583b5baae70fb1f0027cc5d55a-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkcb9780583b5baae70fb1f0027cc5d55a-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-cb9780583b5baae70fb1f0027cc5d55a-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-qcb9780583b5baae70fb1f0027cc5d55a-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quacb9780583b5baae70fb1f0027cc5d55a-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:31:06Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:31:06Z",
                        "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-zmvbsize-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "c13a44d92b9ad15f6fe01d8dc4060839eddb0018"
                                },
                                {
                                    "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": "c13a44d92b9ad15f6fe01d8dc4060839eddb0018"
                                            },
                                            {
                                                "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-07-04T14:30: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=122",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139958468",
                    "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-dohqdx",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request-tlq7z",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-zmvbsize-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-zmvbsize-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "5333f979cf504b4a0ea1e108dab4f39c8a86b6da",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize-gitops/commit/5333f979cf504b4a0ea1e108dab4f39c8a86b6da",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1783175311393",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize-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-zmvbsize-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/ee3f8ba6-7a9e-4239-a811-1af1f1e55f6f/records/ee3f8ba6-7a9e-4239-a811-1af1f1e55f6f",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-zmvbsize-gitops\",\"commit\":\"5333f979cf504b4a0ea1e108dab4f39c8a86b6da\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/ee3f8ba6-7a9e-4239-a811-1af1f1e55f6f",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:28:41Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-zmvbsize",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-zmvbsize",
                    "pipelinesascode.tekton.dev/check-run-id": "85139958468",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "5333f979cf504b4a0ea1e108dab4f39c8a86b6da",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-zmvbsize-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request"
                },
                "name": "e2e-tests-java-quarkus-zmvbsize-gitops-on-pull-request-tlq7z",
                "namespace": "tssc-app-ci",
                "resourceVersion": "47593",
                "uid": "ee3f8ba6-7a9e-4239-a811-1af1f1e55f6f"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "5333f979cf504b4a0ea1e108dab4f39c8a86b6da"
                    },
                    {
                        "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-dohqdx"
                        }
                    },
                    {
                        "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-javaf95c5a6937112e54d28a774e155d677b-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkf95c5a6937112e54d28a774e155d677b-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-f95c5a6937112e54d28a774e155d677b-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-qf95c5a6937112e54d28a774e155d677b-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quaf95c5a6937112e54d28a774e155d677b-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:29:32Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:29:32Z",
                        "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-zmvbsize-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "5333f979cf504b4a0ea1e108dab4f39c8a86b6da"
                                },
                                {
                                    "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": "5333f979cf504b4a0ea1e108dab4f39c8a86b6da"
                                            },
                                            {
                                                "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-07-04T14:28:41Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=41",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139530336",
                    "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-dhbzvn",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-zmvbsize-on-pull-request-42x48",
                    "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-zmvbsize-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-zmvbsize",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "883a663a64a9d78630e6c86218068781c2106596",
                    "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-zmvbsize/commit/883a663a64a9d78630e6c86218068781c2106596",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1783174922356",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize",
                    "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-zmvbsize",
                    "results.tekton.dev/record": "tssc-app-ci/results/c855a16e-36bf-44ac-8ecb-161a9158f304/records/c855a16e-36bf-44ac-8ecb-161a9158f304",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-zmvbsize\",\"commit\":\"883a663a64a9d78630e6c86218068781c2106596\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/c855a16e-36bf-44ac-8ecb-161a9158f304",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:22:12Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-zmvbsize-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-zmvbsize",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-zmvbsize",
                    "pipelinesascode.tekton.dev/check-run-id": "85139530336",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-zmvbsize-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-repository",
                    "pipelinesascode.tekton.dev/sha": "883a663a64a9d78630e6c86218068781c2106596",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-zmvbsize",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-zmvbsize-on-pull-request"
                },
                "name": "e2e-tests-java-quarkus-zmvbsize-on-pull-request-42x48",
                "namespace": "tssc-app-ci",
                "resourceVersion": "40520",
                "uid": "c855a16e-36bf-44ac-8ecb-161a9158f304"
            },
            "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-zmvbsize"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "883a663a64a9d78630e6c86218068781c2106596"
                    },
                    {
                        "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-dhbzvn"
                        }
                    },
                    {
                        "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-javaf52aa116f307706d56de7456118ddee8-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-pull-request-42x48-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-pull-request-42x48-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-pull-request-42x48-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-pull-request-42x48-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:24:55Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:24:55Z",
                        "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-zmvbsize"
                                },
                                {
                                    "name": "revision",
                                    "value": "883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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": "883a663a64a9d78630e6c86218068781c2106596"
                                            },
                                            {
                                                "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-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                                },
                                {
                                    "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:e130eb0e4812a6dd8eebeedbdfa52e68c300947dec9233970ddb9cc4a04bd43f"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:on-pr-883a663a64a9d78630e6c86218068781c2106596"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:b8be612ac873a91d2a9e05937453358e719b155dc0304c070ffe0e94cd6aa5e2\nregistry.access.redhat.com/ubi9/openjdk-21:latest@sha256:a7a263e496bdc62bc7b9e8704d7e9ed5fd391418927fd505f56c8ba8c2e7197a\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize@sha256:a111f11e7c11c7118e1dbd894390569c46b194d138534c8e7a7d78814ff3513c"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "883a663a64a9d78630e6c86218068781c2106596"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":18,\"medium\":117,\"low\":56}}\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-07-04T14: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=97",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139749812",
                    "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-ifsbwi",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-zmvbsize-on-push-vcttd",
                    "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-zmvbsize-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-zmvbsize",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "ef89137286768e56c7700ccb9731f63581120f0a",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1783174922356",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize/commit/ef89137286768e56c7700ccb9731f63581120f0a",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize",
                    "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-zmvbsize",
                    "results.tekton.dev/record": "tssc-app-ci/results/63e154eb-97bd-43df-9b97-5bfc55b77bd5/records/63e154eb-97bd-43df-9b97-5bfc55b77bd5",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-zmvbsize\",\"commit\":\"ef89137286768e56c7700ccb9731f63581120f0a\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/63e154eb-97bd-43df-9b97-5bfc55b77bd5",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:25:27Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-zmvbsize-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-zmvbsize",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-zmvbsize",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-zmvbsize",
                    "pipelinesascode.tekton.dev/check-run-id": "85139749812",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-zmvbsize-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-zmvbsize-repository",
                    "pipelinesascode.tekton.dev/sha": "ef89137286768e56c7700ccb9731f63581120f0a",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-zmvbsize",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-zmvbsize-on-push"
                },
                "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd",
                "namespace": "tssc-app-ci",
                "resourceVersion": "45136",
                "uid": "63e154eb-97bd-43df-9b97-5bfc55b77bd5"
            },
            "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-zmvbsize"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "ef89137286768e56c7700ccb9731f63581120f0a"
                    },
                    {
                        "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-ifsbwi"
                        }
                    },
                    {
                        "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-zmvbsize-on-push-vcttd-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-zmvbsize-on-push-vcttd-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:27:57Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:27:57Z",
                        "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-zmvbsize"
                                },
                                {
                                    "name": "revision",
                                    "value": "ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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": "ef89137286768e56c7700ccb9731f63581120f0a"
                                            },
                                            {
                                                "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-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                                },
                                {
                                    "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:4ce27f9ca487b1d57453343f4598138d60a9013babe0f155da9c13b9c7bdd022"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize:ef89137286768e56c7700ccb9731f63581120f0a"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:b8be612ac873a91d2a9e05937453358e719b155dc0304c070ffe0e94cd6aa5e2\nregistry.access.redhat.com/ubi9/openjdk-21:latest@sha256:a7a263e496bdc62bc7b9e8704d7e9ed5fd391418927fd505f56c8ba8c2e7197a\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-zmvbsize@sha256:0e53e54c7a3b52553b2cf97f222c1998e8387dd782f6fc820dacc90e99412537"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-zmvbsize"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "ef89137286768e56c7700ccb9731f63581120f0a"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":18,\"medium\":117,\"low\":56}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:25:27Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=191",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140614231",
                    "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-iiymds",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-higjxirp-gitops-on-pull-request-6sjxj",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-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-higjxirp-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "0c9e6f6e75a832720f30f7942f03eb09dd69e66e",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp-gitops/commit/0c9e6f6e75a832720f30f7942f03eb09dd69e66e",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1783175872728",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp-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-higjxirp-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/d5e8330c-604b-4cba-bb95-a1f03033e74d/records/d5e8330c-604b-4cba-bb95-a1f03033e74d",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-higjxirp-gitops\",\"commit\":\"0c9e6f6e75a832720f30f7942f03eb09dd69e66e\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/d5e8330c-604b-4cba-bb95-a1f03033e74d",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:38:02Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-higjxirp",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-higjxirp",
                    "pipelinesascode.tekton.dev/check-run-id": "85140614231",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "0c9e6f6e75a832720f30f7942f03eb09dd69e66e",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-higjxirp-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request"
                },
                "name": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request-6sjxj",
                "namespace": "tssc-app-ci",
                "resourceVersion": "57563",
                "uid": "d5e8330c-604b-4cba-bb95-a1f03033e74d"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "0c9e6f6e75a832720f30f7942f03eb09dd69e66e"
                    },
                    {
                        "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-iiymds"
                        }
                    },
                    {
                        "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-javac2369768ffa6a6ea0f06ebddb592dfc4-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprinc2369768ffa6a6ea0f06ebddb592dfc4-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-c2369768ffa6a6ea0f06ebddb592dfc4-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sc2369768ffa6a6ea0f06ebddb592dfc4-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprc2369768ffa6a6ea0f06ebddb592dfc4-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:38:48Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:38:48Z",
                        "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-higjxirp-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "0c9e6f6e75a832720f30f7942f03eb09dd69e66e"
                                },
                                {
                                    "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": "0c9e6f6e75a832720f30f7942f03eb09dd69e66e"
                                            },
                                            {
                                                "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-07-04T14:38:02Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=185",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140501982",
                    "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-ltyjge",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-higjxirp-gitops-on-pull-request-m7d47",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-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-higjxirp-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "cfd26678189d270256be461ff738c75b3f8f4f85",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp-gitops/commit/cfd26678189d270256be461ff738c75b3f8f4f85",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1783175771679",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp-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-higjxirp-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/de1bfd15-f18e-407c-b39b-36d48a6aa79b/records/de1bfd15-f18e-407c-b39b-36d48a6aa79b",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-higjxirp-gitops\",\"commit\":\"cfd26678189d270256be461ff738c75b3f8f4f85\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/de1bfd15-f18e-407c-b39b-36d48a6aa79b",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:36:20Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-higjxirp",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-higjxirp",
                    "pipelinesascode.tekton.dev/check-run-id": "85140501982",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "cfd26678189d270256be461ff738c75b3f8f4f85",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-higjxirp-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request"
                },
                "name": "e2e-tests-java-springboot-higjxirp-gitops-on-pull-request-m7d47",
                "namespace": "tssc-app-ci",
                "resourceVersion": "56134",
                "uid": "de1bfd15-f18e-407c-b39b-36d48a6aa79b"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "cfd26678189d270256be461ff738c75b3f8f4f85"
                    },
                    {
                        "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-ltyjge"
                        }
                    },
                    {
                        "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-java8af52e9c850ad454a230f1a8b4259937-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprin8af52e9c850ad454a230f1a8b4259937-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-8af52e9c850ad454a230f1a8b4259937-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-s8af52e9c850ad454a230f1a8b4259937-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spr8af52e9c850ad454a230f1a8b4259937-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:37:03Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:37:03Z",
                        "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-higjxirp-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "cfd26678189d270256be461ff738c75b3f8f4f85"
                                },
                                {
                                    "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": "cfd26678189d270256be461ff738c75b3f8f4f85"
                                            },
                                            {
                                                "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-07-04T14:36: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=170",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140120430",
                    "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-ijsrry",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-higjxirp-on-pull-request-szm49",
                    "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-higjxirp-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-higjxirp",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "263588e1a6835f9c92c60bdb99b47ff7c97e60fa",
                    "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-higjxirp/commit/263588e1a6835f9c92c60bdb99b47ff7c97e60fa",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1783175444779",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp",
                    "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-higjxirp",
                    "results.tekton.dev/record": "tssc-app-ci/results/3d6373cb-e99c-42a5-b6d7-ca819595623e/records/3d6373cb-e99c-42a5-b6d7-ca819595623e",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-higjxirp\",\"commit\":\"263588e1a6835f9c92c60bdb99b47ff7c97e60fa\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/3d6373cb-e99c-42a5-b6d7-ca819595623e",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:30:54Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-higjxirp-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-higjxirp",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-higjxirp",
                    "pipelinesascode.tekton.dev/check-run-id": "85140120430",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-repository",
                    "pipelinesascode.tekton.dev/sha": "263588e1a6835f9c92c60bdb99b47ff7c97e60fa",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-higjxirp",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-higjxirp-on-pull-request"
                },
                "name": "e2e-tests-java-springboot-higjxirp-on-pull-request-szm49",
                "namespace": "tssc-app-ci",
                "resourceVersion": "53038",
                "uid": "3d6373cb-e99c-42a5-b6d7-ca819595623e"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                    },
                    {
                        "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-ijsrry"
                        }
                    },
                    {
                        "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-java597b307044e5673c51963a25e51f56de-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-pull-request-szm49-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-pull-request-szm49-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spring597b307044e5673c51963a25e51f56de-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spring597b307044e5673c51963a25e51f56de-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:33:15Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:33:15Z",
                        "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-higjxirp"
                                },
                                {
                                    "name": "revision",
                                    "value": "263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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": "263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                            },
                                            {
                                                "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-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                                },
                                {
                                    "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:4105f5db6b03f3d7e2703380dfe12e9b7ff4f82989eca23460e868c7a06331a2"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:on-pr-263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:b8be612ac873a91d2a9e05937453358e719b155dc0304c070ffe0e94cd6aa5e2\nregistry.access.redhat.com/ubi9/openjdk-21:latest@sha256:a7a263e496bdc62bc7b9e8704d7e9ed5fd391418927fd505f56c8ba8c2e7197a\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp@sha256:b7c0f750e9015d9176e6ce7c0e9f25df8776dbd1a80d2d494d3c75e8a2693dc2"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "263588e1a6835f9c92c60bdb99b47ff7c97e60fa"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":8,\"medium\":112,\"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-07-04T14:30:54Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=179",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140309292",
                    "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-ltbkol",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-higjxirp-on-push-wml4m",
                    "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-higjxirp-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-higjxirp",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "922b32ffa601e7007a773ece4a48fa295ac8bd71",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1783175444779",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp/commit/922b32ffa601e7007a773ece4a48fa295ac8bd71",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp",
                    "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-higjxirp",
                    "results.tekton.dev/record": "tssc-app-ci/results/1bbf7b6d-e089-4811-92e2-cced6a2f1ede/records/1bbf7b6d-e089-4811-92e2-cced6a2f1ede",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-higjxirp\",\"commit\":\"922b32ffa601e7007a773ece4a48fa295ac8bd71\",\"eventType\":\"push\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/1bbf7b6d-e089-4811-92e2-cced6a2f1ede",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:33:34Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-springboot-higjxirp-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-higjxirp",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-higjxirp",
                    "pipelinesascode.tekton.dev/check-run-id": "85140309292",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-on-push",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-repository",
                    "pipelinesascode.tekton.dev/sha": "922b32ffa601e7007a773ece4a48fa295ac8bd71",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-higjxirp",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-higjxirp-on-push"
                },
                "name": "e2e-tests-java-springboot-higjxirp-on-push-wml4m",
                "namespace": "tssc-app-ci",
                "resourceVersion": "54737",
                "uid": "1bbf7b6d-e089-4811-92e2-cced6a2f1ede"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "922b32ffa601e7007a773ece4a48fa295ac8bd71"
                    },
                    {
                        "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-ltbkol"
                        }
                    },
                    {
                        "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-javaf7a81953e192fa138cceea4945d2ca77-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-wml4m-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-wml4m-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-javaf7a81953e192fa138cceea4945d2ca77-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-wml4m-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-wml4m-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-wml4m-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:35:28Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:35:28Z",
                        "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-higjxirp"
                                },
                                {
                                    "name": "revision",
                                    "value": "922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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": "922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                            },
                                            {
                                                "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-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                                },
                                {
                                    "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:bfb713d0ad378bcc7c371ac48fbeb34e142119356868a52142335a800339ef1a"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:922b32ffa601e7007a773ece4a48fa295ac8bd71"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:b8be612ac873a91d2a9e05937453358e719b155dc0304c070ffe0e94cd6aa5e2\nregistry.access.redhat.com/ubi9/openjdk-21:latest@sha256:a7a263e496bdc62bc7b9e8704d7e9ed5fd391418927fd505f56c8ba8c2e7197a\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp@sha256:9537fc002438501fdefc3f5a03c189ac73735c19aeccf5940e777e9ada65c268"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "922b32ffa601e7007a773ece4a48fa295ac8bd71"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":8,\"medium\":112,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:33:34Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=166",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140109167",
                    "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-kllgqh",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-higjxirp-on-push-z44w4",
                    "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-higjxirp-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-higjxirp",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-qe-ci[bot]",
                    "pipelinesascode.tekton.dev/sha": "ae5c8e468097ff711c1da089f55eb3ac963cd92c",
                    "pipelinesascode.tekton.dev/sha-title": "initial commit",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp/commit/ae5c8e468097ff711c1da089f55eb3ac963cd92c",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp",
                    "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-higjxirp",
                    "results.tekton.dev/record": "tssc-app-ci/results/33fb5912-4548-439e-b968-c856d25cee0e/records/33fb5912-4548-439e-b968-c856d25cee0e",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-higjxirp\",\"commit\":\"ae5c8e468097ff711c1da089f55eb3ac963cd92c\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/33fb5912-4548-439e-b968-c856d25cee0e",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:30:45Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-higjxirp-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-higjxirp",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-higjxirp",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-higjxirp",
                    "pipelinesascode.tekton.dev/check-run-id": "85140109167",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-higjxirp-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-higjxirp-repository",
                    "pipelinesascode.tekton.dev/sha": "ae5c8e468097ff711c1da089f55eb3ac963cd92c",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-higjxirp",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-higjxirp-on-push"
                },
                "name": "e2e-tests-java-springboot-higjxirp-on-push-z44w4",
                "namespace": "tssc-app-ci",
                "resourceVersion": "52875",
                "uid": "33fb5912-4548-439e-b968-c856d25cee0e"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                    },
                    {
                        "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-kllgqh"
                        }
                    },
                    {
                        "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-java2743af1108ccd0ac012d094db5384c0f-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-z44w4-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-z44w4-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java2743af1108ccd0ac012d094db5384c0f-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-z44w4-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-z44w4-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-higjxirp-on-push-z44w4-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:33:01Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:33:01Z",
                        "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-higjxirp"
                                },
                                {
                                    "name": "revision",
                                    "value": "ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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": "ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                            },
                                            {
                                                "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-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                                },
                                {
                                    "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:a4c0ced107484cb43d1c5e8e503a97ff5478861143b60642359772d5f5b1431f"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp:ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:b8be612ac873a91d2a9e05937453358e719b155dc0304c070ffe0e94cd6aa5e2\nregistry.access.redhat.com/ubi9/openjdk-21:latest@sha256:a7a263e496bdc62bc7b9e8704d7e9ed5fd391418927fd505f56c8ba8c2e7197a\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-higjxirp@sha256:110278de45a9879b5f0abf5201edeb0635e8cf6a823a6ea6c50d6717e64bd531"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-higjxirp"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "ae5c8e468097ff711c1da089f55eb3ac963cd92c"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":8,\"medium\":112,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:30:46Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=102",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139878659",
                    "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-wcuocu",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ataegaja-gitops-on-pull-request-mv47r",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ataegaja-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-ataegaja-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "37cdbbb2e76b8a51de8ad834a63687cb049a3fed",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja-gitops/commit/37cdbbb2e76b8a51de8ad834a63687cb049a3fed",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1783175238060",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja-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-ataegaja-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/fbc38477-5060-4321-bf90-ab95ee088cd3/records/fbc38477-5060-4321-bf90-ab95ee088cd3",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ataegaja-gitops\",\"commit\":\"37cdbbb2e76b8a51de8ad834a63687cb049a3fed\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/fbc38477-5060-4321-bf90-ab95ee088cd3",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:27:27Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ataegaja",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ataegaja",
                    "pipelinesascode.tekton.dev/check-run-id": "85139878659",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "37cdbbb2e76b8a51de8ad834a63687cb049a3fed",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ataegaja-gitops",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request"
                },
                "name": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request-mv47r",
                "namespace": "tssc-app-ci",
                "resourceVersion": "45604",
                "uid": "fbc38477-5060-4321-bf90-ab95ee088cd3"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "37cdbbb2e76b8a51de8ad834a63687cb049a3fed"
                    },
                    {
                        "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-wcuocu"
                        }
                    },
                    {
                        "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-node8e5fb31a5a24823f0904e8f17884728d-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ata8e5fb31a5a24823f0904e8f17884728d-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodej8e5fb31a5a24823f0904e8f17884728d-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs8e5fb31a5a24823f0904e8f17884728d-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-a8e5fb31a5a24823f0904e8f17884728d-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:28:14Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:28:14Z",
                        "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-ataegaja-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "37cdbbb2e76b8a51de8ad834a63687cb049a3fed"
                                },
                                {
                                    "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": "37cdbbb2e76b8a51de8ad834a63687cb049a3fed"
                                            },
                                            {
                                                "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-07-04T14:27:28Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=136",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140016437",
                    "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-ryxpux",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ataegaja-gitops-on-pull-request-tzcmh",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ataegaja-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-ataegaja-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "007dcb4f98411a4201e4e78475a723746283eabe",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja-gitops/commit/007dcb4f98411a4201e4e78475a723746283eabe",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1783175365439",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja-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-ataegaja-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/2c3bcba2-e285-4818-a87d-34c8bae8e5dd/records/2c3bcba2-e285-4818-a87d-34c8bae8e5dd",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ataegaja-gitops\",\"commit\":\"007dcb4f98411a4201e4e78475a723746283eabe\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/2c3bcba2-e285-4818-a87d-34c8bae8e5dd",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:29:34Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ataegaja",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ataegaja",
                    "pipelinesascode.tekton.dev/check-run-id": "85140016437",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "007dcb4f98411a4201e4e78475a723746283eabe",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ataegaja-gitops",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request"
                },
                "name": "e2e-tests-nodejs-ataegaja-gitops-on-pull-request-tzcmh",
                "namespace": "tssc-app-ci",
                "resourceVersion": "49440",
                "uid": "2c3bcba2-e285-4818-a87d-34c8bae8e5dd"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "007dcb4f98411a4201e4e78475a723746283eabe"
                    },
                    {
                        "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-ryxpux"
                        }
                    },
                    {
                        "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-node61ea143f49659c55bd5b6df6dda82966-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ata61ea143f49659c55bd5b6df6dda82966-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodej61ea143f49659c55bd5b6df6dda82966-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs61ea143f49659c55bd5b6df6dda82966-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-a61ea143f49659c55bd5b6df6dda82966-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:30:23Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:30:23Z",
                        "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-ataegaja-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "007dcb4f98411a4201e4e78475a723746283eabe"
                                },
                                {
                                    "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": "007dcb4f98411a4201e4e78475a723746283eabe"
                                            },
                                            {
                                                "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-07-04T14:29:34Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=32",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139523895",
                    "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-erpfme",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ataegaja-on-pull-request-vr2j5",
                    "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-ataegaja-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-ataegaja",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "534850937653f0baa365b091b73e2aec0c0d5d97",
                    "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-ataegaja/commit/534850937653f0baa365b091b73e2aec0c0d5d97",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1783174917600",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja",
                    "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-ataegaja",
                    "results.tekton.dev/record": "tssc-app-ci/results/c5eb197d-054e-474e-abf4-f5bbb4fd5557/records/c5eb197d-054e-474e-abf4-f5bbb4fd5557",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ataegaja\",\"commit\":\"534850937653f0baa365b091b73e2aec0c0d5d97\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/c5eb197d-054e-474e-abf4-f5bbb4fd5557",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:22:06Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-ataegaja-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ataegaja",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ataegaja",
                    "pipelinesascode.tekton.dev/check-run-id": "85139523895",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ataegaja-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-repository",
                    "pipelinesascode.tekton.dev/sha": "534850937653f0baa365b091b73e2aec0c0d5d97",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ataegaja",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ataegaja-on-pull-request"
                },
                "name": "e2e-tests-nodejs-ataegaja-on-pull-request-vr2j5",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39696",
                "uid": "c5eb197d-054e-474e-abf4-f5bbb4fd5557"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "534850937653f0baa365b091b73e2aec0c0d5d97"
                    },
                    {
                        "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-erpfme"
                        }
                    },
                    {
                        "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-nodeedd44458ea0fa144b69fdf98e2c8fd63-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-pull-request-vr2j5-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-pull-request-vr2j5-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-pull-request-vr2j5-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-pull-request-vr2j5-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:24:28Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:24:28Z",
                        "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-ataegaja"
                                },
                                {
                                    "name": "revision",
                                    "value": "534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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": "534850937653f0baa365b091b73e2aec0c0d5d97"
                                            },
                                            {
                                                "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-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                                },
                                {
                                    "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:b5a506889e1fb4bb46c812b58e24ed31490938ad1bdafad7085f8d7584f14788"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:on-pr-534850937653f0baa365b091b73e2aec0c0d5d97"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/nodejs-22:latest@sha256:1e7648a1a8855c3f8cb626e02790039079101d905b7dcd3b41449d6c2a0e6397\nregistry.access.redhat.com/ubi9/nodejs-22-minimal:latest@sha256:fe289fffb6afcb931bbc3012bd793dd54d5775fd8c19202219a0a13654a4cdc9\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja@sha256:0eb4ef7b00d8fdebe5bdcc072cc9686b949e013f7401945d7d2f84bdd126c47b"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "534850937653f0baa365b091b73e2aec0c0d5d97"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":74,\"low\":52}}\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-07-04T14:22:06Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=68",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139700373",
                    "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-rnmpbr",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-ataegaja-on-push-qfgbt",
                    "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-ataegaja-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-ataegaja",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "c8e4bbaaacbfa98163d631e871e9f71372315c76",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1783174917600",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja/commit/c8e4bbaaacbfa98163d631e871e9f71372315c76",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja",
                    "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-ataegaja",
                    "results.tekton.dev/record": "tssc-app-ci/results/621e1c63-a61a-4480-8f47-328b0acabe09/records/621e1c63-a61a-4480-8f47-328b0acabe09",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-ataegaja\",\"commit\":\"c8e4bbaaacbfa98163d631e871e9f71372315c76\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/621e1c63-a61a-4480-8f47-328b0acabe09",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:24:45Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-ataegaja-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-ataegaja",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-ataegaja",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-ataegaja",
                    "pipelinesascode.tekton.dev/check-run-id": "85139700373",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-ataegaja-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-ataegaja-repository",
                    "pipelinesascode.tekton.dev/sha": "c8e4bbaaacbfa98163d631e871e9f71372315c76",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-ataegaja",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-ataegaja-on-push"
                },
                "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt",
                "namespace": "tssc-app-ci",
                "resourceVersion": "42518",
                "uid": "621e1c63-a61a-4480-8f47-328b0acabe09"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "c8e4bbaaacbfa98163d631e871e9f71372315c76"
                    },
                    {
                        "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-rnmpbr"
                        }
                    },
                    {
                        "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-ataegaja-on-push-qfgbt-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-ataegaja-on-push-qfgbt-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:26:26Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:26:26Z",
                        "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-ataegaja"
                                },
                                {
                                    "name": "revision",
                                    "value": "c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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": "c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                            },
                                            {
                                                "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-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                                },
                                {
                                    "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:00550e7f634310d083325aadf06140350817c72a8f326db7a466695aec8b0961"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja:c8e4bbaaacbfa98163d631e871e9f71372315c76"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/nodejs-22:latest@sha256:1e7648a1a8855c3f8cb626e02790039079101d905b7dcd3b41449d6c2a0e6397\nregistry.access.redhat.com/ubi9/nodejs-22-minimal:latest@sha256:fe289fffb6afcb931bbc3012bd793dd54d5775fd8c19202219a0a13654a4cdc9\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-ataegaja@sha256:7afa0257e440c53d1310f260de5e62a3e77badcbc3791d98b3d2b779ddbe7634"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-ataegaja"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "c8e4bbaaacbfa98163d631e871e9f71372315c76"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":7,\"medium\":74,\"low\":52}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:24: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=156",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140145379",
                    "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-vfbcme",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-soneipfb-gitops-on-pull-request-dnjhf",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-soneipfb-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-soneipfb-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "0965d8ae19b4bd2595e0db573f3a2549f1f9b244",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb-gitops/commit/0965d8ae19b4bd2595e0db573f3a2549f1f9b244",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1783175465269",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb-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-soneipfb-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/f271f1ad-9154-4982-b6fc-b61fb5088e5f/records/f271f1ad-9154-4982-b6fc-b61fb5088e5f",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-soneipfb-gitops\",\"commit\":\"0965d8ae19b4bd2595e0db573f3a2549f1f9b244\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/f271f1ad-9154-4982-b6fc-b61fb5088e5f",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:31:14Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-soneipfb-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-soneipfb",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-id": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-soneipfb",
                    "pipelinesascode.tekton.dev/check-run-id": "85140145379",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-soneipfb-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "0965d8ae19b4bd2595e0db573f3a2549f1f9b244",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-soneipfb-gitops",
                    "tekton.dev/pipeline": "e2e-tests-python-soneipfb-gitops-on-pull-request"
                },
                "name": "e2e-tests-python-soneipfb-gitops-on-pull-request-dnjhf",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51621",
                "uid": "f271f1ad-9154-4982-b6fc-b61fb5088e5f"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "0965d8ae19b4bd2595e0db573f3a2549f1f9b244"
                    },
                    {
                        "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-vfbcme"
                        }
                    },
                    {
                        "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-pyth76605f24ada82ec2ae97020a1f1d1010-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-son76605f24ada82ec2ae97020a1f1d1010-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pytho76605f24ada82ec2ae97020a1f1d1010-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python76605f24ada82ec2ae97020a1f1d1010-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-s76605f24ada82ec2ae97020a1f1d1010-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:31:57Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:31:57Z",
                        "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-soneipfb-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "0965d8ae19b4bd2595e0db573f3a2549f1f9b244"
                                },
                                {
                                    "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": "0965d8ae19b4bd2595e0db573f3a2549f1f9b244"
                                            },
                                            {
                                                "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-07-04T14:31:14Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=133",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85140009973",
                    "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-afmstw",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-soneipfb-gitops-on-pull-request-hmkrr",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-soneipfb-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-soneipfb-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "ab576ac4db70192b06937aa77e5d808ce5d14a78",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb-gitops/commit/ab576ac4db70192b06937aa77e5d808ce5d14a78",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1783175358617",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb-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-soneipfb-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/60009344-0b65-4f91-ba31-e1790b896d9b/records/60009344-0b65-4f91-ba31-e1790b896d9b",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-soneipfb-gitops\",\"commit\":\"ab576ac4db70192b06937aa77e5d808ce5d14a78\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/60009344-0b65-4f91-ba31-e1790b896d9b",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:29:28Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-python-soneipfb-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-soneipfb",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-id": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-soneipfb",
                    "pipelinesascode.tekton.dev/check-run-id": "85140009973",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-soneipfb-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "ab576ac4db70192b06937aa77e5d808ce5d14a78",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-soneipfb-gitops",
                    "tekton.dev/pipeline": "e2e-tests-python-soneipfb-gitops-on-pull-request"
                },
                "name": "e2e-tests-python-soneipfb-gitops-on-pull-request-hmkrr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "49037",
                "uid": "60009344-0b65-4f91-ba31-e1790b896d9b"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "ab576ac4db70192b06937aa77e5d808ce5d14a78"
                    },
                    {
                        "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-afmstw"
                        }
                    },
                    {
                        "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-pyth328a0302059ad42dbe17da5fa4e84da5-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-son328a0302059ad42dbe17da5fa4e84da5-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pytho328a0302059ad42dbe17da5fa4e84da5-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python328a0302059ad42dbe17da5fa4e84da5-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-s328a0302059ad42dbe17da5fa4e84da5-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-07-04T14:30:13Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:30:13Z",
                        "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-soneipfb-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "ab576ac4db70192b06937aa77e5d808ce5d14a78"
                                },
                                {
                                    "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": "ab576ac4db70192b06937aa77e5d808ce5d14a78"
                                            },
                                            {
                                                "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-07-04T14:29: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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=46",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139537573",
                    "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-odqnrg",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-soneipfb-on-pull-request-2tlzj",
                    "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-soneipfb-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-soneipfb",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "8ccbd65f06c9f9d66d43206090417cbbe22203c7",
                    "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-soneipfb/commit/8ccbd65f06c9f9d66d43206090417cbbe22203c7",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1783174929892",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb",
                    "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-soneipfb",
                    "results.tekton.dev/record": "tssc-app-ci/results/315c82ff-83b5-45b7-89ec-365163731468/records/315c82ff-83b5-45b7-89ec-365163731468",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-soneipfb\",\"commit\":\"8ccbd65f06c9f9d66d43206090417cbbe22203c7\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/315c82ff-83b5-45b7-89ec-365163731468",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:22:19Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-soneipfb-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-soneipfb",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-id": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-soneipfb",
                    "pipelinesascode.tekton.dev/check-run-id": "85139537573",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-soneipfb-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-repository",
                    "pipelinesascode.tekton.dev/sha": "8ccbd65f06c9f9d66d43206090417cbbe22203c7",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-soneipfb",
                    "tekton.dev/pipeline": "e2e-tests-python-soneipfb-on-pull-request"
                },
                "name": "e2e-tests-python-soneipfb-on-pull-request-2tlzj",
                "namespace": "tssc-app-ci",
                "resourceVersion": "40580",
                "uid": "315c82ff-83b5-45b7-89ec-365163731468"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                    },
                    {
                        "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-odqnrg"
                        }
                    },
                    {
                        "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-pythb3d9bfa7a7e52571c8635333b51ad6dd-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-pull-request-2tlzj-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-pull-request-2tlzj-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-pull-request-2tlzj-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-pull-request-2tlzj-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:25:06Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:25:06Z",
                        "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-soneipfb"
                                },
                                {
                                    "name": "revision",
                                    "value": "8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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": "8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                            },
                                            {
                                                "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-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                                },
                                {
                                    "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:e9ad1c75c3ad3dc1907ea7d8cb08d2b8a6d75f65827ad85dcf1cc8525822eb8b"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-soneipfb:on-pr-8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/python-312:latest@sha256:f0a3c86eb6ab0ef1a302f3edcc0e15bf2432492fc8a0903acdedae50c1786d2d\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-soneipfb@sha256:7e45394c3c882b713db7bbbe00b0a12f8ea7aac8be4b106d27474cb32e73d924"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "8ccbd65f06c9f9d66d43206090417cbbe22203c7"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":16,\"medium\":185,\"low\":230}}\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-07-04T14:22:19Z"
            }
        },
        {
            "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-f9125a1b85.noyd.p3.openshiftapps.com/api/v1/log/entries?logIndex=104",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "85139750209",
                    "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-oaeckl",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-f9125a1b85.noyd.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-soneipfb-on-push-58qn6",
                    "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-soneipfb-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-soneipfb",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "2759c1f223d7840fe7af27602e457aa56a66e4d4",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1783174929892",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb/commit/2759c1f223d7840fe7af27602e457aa56a66e4d4",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb",
                    "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-soneipfb",
                    "results.tekton.dev/record": "tssc-app-ci/results/c9c0652d-89da-499a-86c5-d6c09f094695/records/c9c0652d-89da-499a-86c5-d6c09f094695",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-soneipfb\",\"commit\":\"2759c1f223d7840fe7af27602e457aa56a66e4d4\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/c9c0652d-89da-499a-86c5-d6c09f094695",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-07-04T14:25:27Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "chains.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-soneipfb-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-soneipfb",
                    "app.kubernetes.io/version": "v0.39.7",
                    "argocd/app-name": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-id": "e2e-tests-python-soneipfb",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-soneipfb",
                    "pipelinesascode.tekton.dev/check-run-id": "85139750209",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-soneipfb-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-soneipfb-repository",
                    "pipelinesascode.tekton.dev/sha": "2759c1f223d7840fe7af27602e457aa56a66e4d4",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-soneipfb",
                    "tekton.dev/pipeline": "e2e-tests-python-soneipfb-on-push"
                },
                "name": "e2e-tests-python-soneipfb-on-push-58qn6",
                "namespace": "tssc-app-ci",
                "resourceVersion": "45448",
                "uid": "c9c0652d-89da-499a-86c5-d6c09f094695"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "2759c1f223d7840fe7af27602e457aa56a66e4d4"
                    },
                    {
                        "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-oaeckl"
                        }
                    },
                    {
                        "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-soneipfb-on-push-58qn6-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-push-58qn6-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-push-58qn6-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-push-58qn6-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-push-58qn6-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-push-58qn6-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-soneipfb-on-push-58qn6-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-07-04T14:28:15Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-04T14:28:15Z",
                        "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-soneipfb"
                                },
                                {
                                    "name": "revision",
                                    "value": "2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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": "2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                            },
                                            {
                                                "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-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                                },
                                {
                                    "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:c132643ebf57c0a6cb3589f21927269455415358ec6b6e83421cd4a53a26d3a5"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-soneipfb:2759c1f223d7840fe7af27602e457aa56a66e4d4"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/python-312:latest@sha256:f0a3c86eb6ab0ef1a302f3edcc0e15bf2432492fc8a0903acdedae50c1786d2d\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-soneipfb@sha256:be7f3c8f7810481e62ae08ca7af72abda79f87a05d4d364ab7f072cab9ed091f"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-soneipfb"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "2759c1f223d7840fe7af27602e457aa56a66e4d4"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":16,\"medium\":185,\"low\":230}}\n"
                    }
                ],
                "startTime": "2026-07-04T14:25:27Z"
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
