{
    "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=176",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950343836",
                    "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-sqkkas",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-c7r8l",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-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-zxvwkogv-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "8de662607e02653f9c76bb4f26da8186998a8056",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv-gitops/commit/8de662607e02653f9c76bb4f26da8186998a8056",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778211884342",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv-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-zxvwkogv-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/d3e29a92-f91b-4e36-b61e-587b4cb59333/records/d3e29a92-f91b-4e36-b61e-587b4cb59333",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-zxvwkogv-gitops\",\"commit\":\"8de662607e02653f9c76bb4f26da8186998a8056\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/d3e29a92-f91b-4e36-b61e-587b4cb59333",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:44:53Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-zxvwkogv",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-zxvwkogv",
                    "pipelinesascode.tekton.dev/check-run-id": "74950343836",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "8de662607e02653f9c76bb4f26da8186998a8056",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-zxvwkogv-gitops",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-c7r8l"
                },
                "name": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-c7r8l",
                "namespace": "tssc-app-ci",
                "resourceVersion": "52280",
                "uid": "d3e29a92-f91b-4e36-b61e-587b4cb59333"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "8de662607e02653f9c76bb4f26da8186998a8056"
                    },
                    {
                        "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-sqkkas"
                        }
                    },
                    {
                        "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-dotn1c24f1c5dc285b6f545dca42e8986c2a-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-bas1c24f1c5dc285b6f545dca42e8986c2a-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotne1c24f1c5dc285b6f545dca42e8986c2a-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet1c24f1c5dc285b6f545dca42e8986c2a-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-b1c24f1c5dc285b6f545dca42e8986c2a-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:45:36Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:45:36Z",
                        "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-zxvwkogv-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "8de662607e02653f9c76bb4f26da8186998a8056"
                                },
                                {
                                    "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": "8de662607e02653f9c76bb4f26da8186998a8056"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:44: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=148",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950212469",
                    "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-jxydru",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-g44tj",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-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-zxvwkogv-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "9eca856d419bf935fa1598477b641c86c9f1f028",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv-gitops/commit/9eca856d419bf935fa1598477b641c86c9f1f028",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778211785365",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv-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-zxvwkogv-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/6cfaa600-5aa3-46fe-9469-882c1b11d7ee/records/6cfaa600-5aa3-46fe-9469-882c1b11d7ee",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-zxvwkogv-gitops\",\"commit\":\"9eca856d419bf935fa1598477b641c86c9f1f028\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/6cfaa600-5aa3-46fe-9469-882c1b11d7ee",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:43:14Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-zxvwkogv",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-zxvwkogv",
                    "pipelinesascode.tekton.dev/check-run-id": "74950212469",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "9eca856d419bf935fa1598477b641c86c9f1f028",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-zxvwkogv-gitops",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-g44tj"
                },
                "name": "e2e-tests-dotnet-basic-zxvwkogv-gitops-on-pull-request-g44tj",
                "namespace": "tssc-app-ci",
                "resourceVersion": "49546",
                "uid": "6cfaa600-5aa3-46fe-9469-882c1b11d7ee"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "9eca856d419bf935fa1598477b641c86c9f1f028"
                    },
                    {
                        "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-jxydru"
                        }
                    },
                    {
                        "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-dotnd7669a952579cc4512afd6c5e582f56d-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basd7669a952579cc4512afd6c5e582f56d-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotned7669a952579cc4512afd6c5e582f56d-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnetd7669a952579cc4512afd6c5e582f56d-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-bd7669a952579cc4512afd6c5e582f56d-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:44:03Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:44: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-dotnet-basic-zxvwkogv-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "9eca856d419bf935fa1598477b641c86c9f1f028"
                                },
                                {
                                    "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": "9eca856d419bf935fa1598477b641c86c9f1f028"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:43:15Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=43",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949638876",
                    "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-gvjipx",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb",
                    "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-zxvwkogv-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-zxvwkogv",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "e86a7088ac269d33b695bf401f205a1249d0ead3",
                    "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-zxvwkogv/commit/e86a7088ac269d33b695bf401f205a1249d0ead3",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778211370861",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv",
                    "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-zxvwkogv",
                    "results.tekton.dev/record": "tssc-app-ci/results/7d0c0e41-a787-4f0f-8462-905f0b96b25a/records/7d0c0e41-a787-4f0f-8462-905f0b96b25a",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-zxvwkogv\",\"commit\":\"e86a7088ac269d33b695bf401f205a1249d0ead3\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/7d0c0e41-a787-4f0f-8462-905f0b96b25a",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:36:21Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-zxvwkogv",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-zxvwkogv",
                    "pipelinesascode.tekton.dev/check-run-id": "74949638876",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-repository",
                    "pipelinesascode.tekton.dev/sha": "e86a7088ac269d33b695bf401f205a1249d0ead3",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-zxvwkogv",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb"
                },
                "name": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb",
                "namespace": "tssc-app-ci",
                "resourceVersion": "41381",
                "uid": "7d0c0e41-a787-4f0f-8462-905f0b96b25a"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "e86a7088ac269d33b695bf401f205a1249d0ead3"
                    },
                    {
                        "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-gvjipx"
                        }
                    },
                    {
                        "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-dotn3334bf4fb5f2fe6e61adcd8242016e45-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-pull-request-9f5tb-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:39:49Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:39:49Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Source Repository URL",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Revision of the Source Repository",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "description": "Fully Qualified Output Image",
                            "name": "output-image",
                            "type": "string"
                        },
                        {
                            "default": ".",
                            "description": "Path to the source code of an application's component from where to build image.",
                            "name": "path-context",
                            "type": "string"
                        },
                        {
                            "default": "Dockerfile",
                            "description": "Path to the Dockerfile inside the context specified by parameter path-context",
                            "name": "dockerfile",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Force rebuild image",
                            "name": "rebuild",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.",
                            "name": "image-expires-after",
                            "type": "string"
                        },
                        {
                            "default": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Array of --build-arg values (\"arg=value\" strings) for buildah",
                            "name": "build-args",
                            "type": "array"
                        },
                        {
                            "default": "",
                            "description": "Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                            "name": "build-args-file",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                                },
                                {
                                    "name": "revision",
                                    "value": "e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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": "e86a7088ac269d33b695bf401f205a1249d0ead3"
                                            },
                                            {
                                                "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-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                                },
                                {
                                    "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:e74923ed2972d8a68b52001459d430f9b6cd9a93a3392f54c5d7be05aa3f3c06"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:on-pr-e86a7088ac269d33b695bf401f205a1249d0ead3"
                    },
                    {
                        "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-zxvwkogv@sha256:b8d3739c459b9ce11792dc9b4d42be5f9752e41f911e09216d2982766c3ffb3c"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "e86a7088ac269d33b695bf401f205a1249d0ead3"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":48,\"medium\":152,\"low\":226}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-08T03:36:21Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=20",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949551016",
                    "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-xjamux",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc",
                    "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-zxvwkogv-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-zxvwkogv",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-qe-ci[bot]",
                    "pipelinesascode.tekton.dev/sha": "745679ce60ab1bad121d3301caeb7b6b02b71798",
                    "pipelinesascode.tekton.dev/sha-title": "initial commit",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv/commit/745679ce60ab1bad121d3301caeb7b6b02b71798",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv",
                    "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-zxvwkogv",
                    "results.tekton.dev/record": "tssc-app-ci/results/0ffe6e00-968d-4d56-bef3-b390bbff3451/records/0ffe6e00-968d-4d56-bef3-b390bbff3451",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-zxvwkogv\",\"commit\":\"745679ce60ab1bad121d3301caeb7b6b02b71798\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/0ffe6e00-968d-4d56-bef3-b390bbff3451",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:35:20Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "chains.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-zxvwkogv-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-zxvwkogv",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-zxvwkogv",
                    "pipelinesascode.tekton.dev/check-run-id": "74949551016",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-repository",
                    "pipelinesascode.tekton.dev/sha": "745679ce60ab1bad121d3301caeb7b6b02b71798",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-zxvwkogv",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc"
                },
                "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39381",
                "uid": "0ffe6e00-968d-4d56-bef3-b390bbff3451"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "745679ce60ab1bad121d3301caeb7b6b02b71798"
                    },
                    {
                        "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-xjamux"
                        }
                    },
                    {
                        "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-zxvwkogv-on-push-cqzpc-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-cqzpc-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:38:24Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:38:24Z",
                        "message": "Tasks Completed: 7 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Source Repository URL",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Revision of the Source Repository",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "description": "Fully Qualified Output Image",
                            "name": "output-image",
                            "type": "string"
                        },
                        {
                            "default": ".",
                            "description": "Path to the source code of an application's component from where to build image.",
                            "name": "path-context",
                            "type": "string"
                        },
                        {
                            "default": "Dockerfile",
                            "description": "Path to the Dockerfile inside the context specified by parameter path-context",
                            "name": "dockerfile",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Force rebuild image",
                            "name": "rebuild",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.",
                            "name": "image-expires-after",
                            "type": "string"
                        },
                        {
                            "default": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Array of --build-arg values (\"arg=value\" strings) for buildah",
                            "name": "build-args",
                            "type": "array"
                        },
                        {
                            "default": "",
                            "description": "Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                            "name": "build-args-file",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                                },
                                {
                                    "name": "revision",
                                    "value": "745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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": "745679ce60ab1bad121d3301caeb7b6b02b71798"
                                            },
                                            {
                                                "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-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                                },
                                {
                                    "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:b1073b8251a0456f3977dc04a4674766363520a31a7b2fc023ac13910ac80b4b"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:745679ce60ab1bad121d3301caeb7b6b02b71798"
                    },
                    {
                        "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-zxvwkogv@sha256:f647b193c915566a8ea92701a277996c9e0a0100bb5143a7e3ca45a2f1036692"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "745679ce60ab1bad121d3301caeb7b6b02b71798"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":48,\"medium\":152,\"low\":226}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:35: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=98",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949939699",
                    "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-nbgdaw",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz",
                    "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-zxvwkogv-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-zxvwkogv",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "d930c27f88806ca2b8d8ffd98418811494608972",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778211370861",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv/commit/d930c27f88806ca2b8d8ffd98418811494608972",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv",
                    "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-zxvwkogv",
                    "results.tekton.dev/record": "tssc-app-ci/results/e737ee5b-c008-410b-a6ae-734373abd7c4/records/e737ee5b-c008-410b-a6ae-734373abd7c4",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-dotnet-basic-zxvwkogv\",\"commit\":\"d930c27f88806ca2b8d8ffd98418811494608972\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/e737ee5b-c008-410b-a6ae-734373abd7c4",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:40:01Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-dotnet-basic-zxvwkogv-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-dotnet-basic-zxvwkogv",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-id": "e2e-tests-dotnet-basic-zxvwkogv",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-dotnet-basic-zxvwkogv",
                    "pipelinesascode.tekton.dev/check-run-id": "74949939699",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-dotnet-basic-zxvwkogv-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-dotnet-basic-zxvwkogv-repository",
                    "pipelinesascode.tekton.dev/sha": "d930c27f88806ca2b8d8ffd98418811494608972",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-dotnet-basic-zxvwkogv",
                    "tekton.dev/pipeline": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz"
                },
                "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz",
                "namespace": "tssc-app-ci",
                "resourceVersion": "45295",
                "uid": "e737ee5b-c008-410b-a6ae-734373abd7c4"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "d930c27f88806ca2b8d8ffd98418811494608972"
                    },
                    {
                        "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-nbgdaw"
                        }
                    },
                    {
                        "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-zxvwkogv-on-push-t4rqz-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-dotnet-basic-zxvwkogv-on-push-t4rqz-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:42:11Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:42:11Z",
                        "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-zxvwkogv"
                                },
                                {
                                    "name": "revision",
                                    "value": "d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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": "d930c27f88806ca2b8d8ffd98418811494608972"
                                            },
                                            {
                                                "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-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                                },
                                {
                                    "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:7441eb2c5fdc8ae38556a3c33959822e5d8f29b9bfc03f6e70624e5221faf198"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-dotnet-basic-zxvwkogv:d930c27f88806ca2b8d8ffd98418811494608972"
                    },
                    {
                        "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-zxvwkogv@sha256:76f967c98fe6535219f0cc9d06368a0f83e673f9ab1f4925e85765c25ca784a4"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-dotnet-basic-zxvwkogv"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "d930c27f88806ca2b8d8ffd98418811494608972"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":48,\"medium\":152,\"low\":226}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:40:01Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=146",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950219472",
                    "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-werraw",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-tsnpmajz-gitops-on-pull-request-jqzn9",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-tsnpmajz-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-tsnpmajz-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "e03440ac70ae068eca4e95e5b657178616968a40",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz-gitops/commit/e03440ac70ae068eca4e95e5b657178616968a40",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778211790940",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz-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-tsnpmajz-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/c096874d-de59-4ea4-9e69-1ec3abb5c857/records/c096874d-de59-4ea4-9e69-1ec3abb5c857",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-tsnpmajz-gitops\",\"commit\":\"e03440ac70ae068eca4e95e5b657178616968a40\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/c096874d-de59-4ea4-9e69-1ec3abb5c857",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:43:20Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-tsnpmajz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-tsnpmajz",
                    "pipelinesascode.tekton.dev/check-run-id": "74950219472",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-tsnpmajz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "e03440ac70ae068eca4e95e5b657178616968a40",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-tsnpmajz-gitops",
                    "tekton.dev/pipeline": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-jqzn9"
                },
                "name": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-jqzn9",
                "namespace": "tssc-app-ci",
                "resourceVersion": "49628",
                "uid": "c096874d-de59-4ea4-9e69-1ec3abb5c857"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "e03440ac70ae068eca4e95e5b657178616968a40"
                    },
                    {
                        "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-werraw"
                        }
                    },
                    {
                        "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-t4d02ed17358f8e1d31436fe1a2623662-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-jqzn9-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ts4d02ed17358f8e1d31436fe1a2623662-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsn4d02ed17358f8e1d31436fe1a2623662-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-jqzn9-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:44:01Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:44:01Z",
                        "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-tsnpmajz-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "e03440ac70ae068eca4e95e5b657178616968a40"
                                },
                                {
                                    "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": "e03440ac70ae068eca4e95e5b657178616968a40"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:43: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=109",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950084385",
                    "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-wcyuwo",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-tsnpmajz-gitops-on-pull-request-xk2rh",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-tsnpmajz-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-tsnpmajz-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "5dc43ed15ac622a6880eb6029862be994d1fdc87",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz-gitops/commit/5dc43ed15ac622a6880eb6029862be994d1fdc87",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778211693200",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz-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-tsnpmajz-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/da6a0e9e-85e7-4ab8-8b92-5a25cde264de/records/da6a0e9e-85e7-4ab8-8b92-5a25cde264de",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-tsnpmajz-gitops\",\"commit\":\"5dc43ed15ac622a6880eb6029862be994d1fdc87\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/da6a0e9e-85e7-4ab8-8b92-5a25cde264de",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:41:43Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-tsnpmajz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-tsnpmajz",
                    "pipelinesascode.tekton.dev/check-run-id": "74950084385",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-tsnpmajz-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "5dc43ed15ac622a6880eb6029862be994d1fdc87",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-tsnpmajz-gitops",
                    "tekton.dev/pipeline": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-xk2rh"
                },
                "name": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-xk2rh",
                "namespace": "tssc-app-ci",
                "resourceVersion": "46085",
                "uid": "da6a0e9e-85e7-4ab8-8b92-5a25cde264de"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "5dc43ed15ac622a6880eb6029862be994d1fdc87"
                    },
                    {
                        "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-wcyuwo"
                        }
                    },
                    {
                        "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-t21cf763b5205dd92f5663c91b523786f-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-xk2rh-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-ts21cf763b5205dd92f5663c91b523786f-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsn21cf763b5205dd92f5663c91b523786f-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-gitops-on-pull-request-xk2rh-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:42:31Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:42: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-tsnpmajz-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "5dc43ed15ac622a6880eb6029862be994d1fdc87"
                                },
                                {
                                    "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": "5dc43ed15ac622a6880eb6029862be994d1fdc87"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:41:43Z"
            }
        },
        {
            "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=29",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949649636",
                    "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-sjpfox",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-tsnpmajz-on-pull-request-lwkmj",
                    "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-tsnpmajz-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-tsnpmajz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "954adfa51bb567ad0ae44518e8d8542ea5a14990",
                    "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-tsnpmajz/commit/954adfa51bb567ad0ae44518e8d8542ea5a14990",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778211378650",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz",
                    "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-tsnpmajz",
                    "results.tekton.dev/record": "tssc-app-ci/results/90340e83-2ba4-49d4-854c-1e0ed12be620/records/90340e83-2ba4-49d4-854c-1e0ed12be620",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-tsnpmajz\",\"commit\":\"954adfa51bb567ad0ae44518e8d8542ea5a14990\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/90340e83-2ba4-49d4-854c-1e0ed12be620",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:36:28Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-tsnpmajz-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-tsnpmajz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-tsnpmajz",
                    "pipelinesascode.tekton.dev/check-run-id": "74949649636",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-tsnpmajz-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-repository",
                    "pipelinesascode.tekton.dev/sha": "954adfa51bb567ad0ae44518e8d8542ea5a14990",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-tsnpmajz",
                    "tekton.dev/pipeline": "e2e-tests-go-tsnpmajz-on-pull-request-lwkmj"
                },
                "name": "e2e-tests-go-tsnpmajz-on-pull-request-lwkmj",
                "namespace": "tssc-app-ci",
                "resourceVersion": "39846",
                "uid": "90340e83-2ba4-49d4-854c-1e0ed12be620"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "954adfa51bb567ad0ae44518e8d8542ea5a14990"
                    },
                    {
                        "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-sjpfox"
                        }
                    },
                    {
                        "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-tsnpmajz-on-pull-request-lwkmj-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-pull-request-lwkmj-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-pull-request-lwkmj-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-pull-request-lwkmj-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-pull-request-lwkmj-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:38:33Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:38:33Z",
                        "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-tsnpmajz"
                                },
                                {
                                    "name": "revision",
                                    "value": "954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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": "954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                            },
                                            {
                                                "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-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                                },
                                {
                                    "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:c1537b0b54006088d24da9476807d6f4735c05f6a097bb987b35e3fde9c16ab7"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:on-pr-954adfa51bb567ad0ae44518e8d8542ea5a14990"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/ubi-micro:latest@sha256:e0b6e93fe3800bf75a3e95aaf63bdfd020ea6dc30a92ca4bfa0021fa28cd671a\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-tsnpmajz@sha256:af8ef135441dee8877c5967a26916cc16e96888b4811d230a8ccc1c0f598b5f0"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "954adfa51bb567ad0ae44518e8d8542ea5a14990"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":3,\"medium\":8,\"low\":13}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-08T03:36: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=83",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949866564",
                    "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-xnawxq",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-go-tsnpmajz-on-push-twrz4",
                    "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-tsnpmajz-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-tsnpmajz",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "80f41c6613cea3cf64d1ea7d12f0632f71d4791d",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778211378650",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz/commit/80f41c6613cea3cf64d1ea7d12f0632f71d4791d",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz",
                    "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-tsnpmajz",
                    "results.tekton.dev/record": "tssc-app-ci/results/efb4a4c3-fc67-47f4-a743-74004ee3027d/records/efb4a4c3-fc67-47f4-a743-74004ee3027d",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-go-tsnpmajz\",\"commit\":\"80f41c6613cea3cf64d1ea7d12f0632f71d4791d\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/efb4a4c3-fc67-47f4-a743-74004ee3027d",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:39:05Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-go-tsnpmajz-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-go-tsnpmajz",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-id": "e2e-tests-go-tsnpmajz",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-go-tsnpmajz",
                    "pipelinesascode.tekton.dev/check-run-id": "74949866564",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-go-tsnpmajz-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-go-tsnpmajz-repository",
                    "pipelinesascode.tekton.dev/sha": "80f41c6613cea3cf64d1ea7d12f0632f71d4791d",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-go-tsnpmajz",
                    "tekton.dev/pipeline": "e2e-tests-go-tsnpmajz-on-push-twrz4"
                },
                "name": "e2e-tests-go-tsnpmajz-on-push-twrz4",
                "namespace": "tssc-app-ci",
                "resourceVersion": "43776",
                "uid": "efb4a4c3-fc67-47f4-a743-74004ee3027d"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                    },
                    {
                        "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-xnawxq"
                        }
                    },
                    {
                        "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-tsnpmajz-on-push-twrz4-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-push-twrz4-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-push-twrz4-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-push-twrz4-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-push-twrz4-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-push-twrz4-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-go-tsnpmajz-on-push-twrz4-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:41:06Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:41:06Z",
                        "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-tsnpmajz"
                                },
                                {
                                    "name": "revision",
                                    "value": "80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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": "80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                            },
                                            {
                                                "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-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                                },
                                {
                                    "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:38ae0b40aa1a37937a5ff0b351681c97c459549fa012763479e5de22f66c0d8c"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-go-tsnpmajz:80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/ubi-micro:latest@sha256:e0b6e93fe3800bf75a3e95aaf63bdfd020ea6dc30a92ca4bfa0021fa28cd671a\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-tsnpmajz@sha256:3c06136ea6bcbc3a6beff04541ce9e10bedf70c5556e30a3a1bd919e56d9a748"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-go-tsnpmajz"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "80f41c6613cea3cf64d1ea7d12f0632f71d4791d"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":3,\"medium\":8,\"low\":13}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:39:05Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=159",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950247597",
                    "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-hdcooh",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-hgw89",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-ddpkzema-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-ddpkzema-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "f78eeacadad9b33d32dfc6f30744448e3b0c70de",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-gitops/commit/f78eeacadad9b33d32dfc6f30744448e3b0c70de",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778211810831",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-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-ddpkzema-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/78c4c4ca-795c-455c-84dc-ef324b70db15/records/78c4c4ca-795c-455c-84dc-ef324b70db15",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-ddpkzema-gitops\",\"commit\":\"f78eeacadad9b33d32dfc6f30744448e3b0c70de\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/78c4c4ca-795c-455c-84dc-ef324b70db15",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:43:41Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-ddpkzema",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-ddpkzema",
                    "pipelinesascode.tekton.dev/check-run-id": "74950247597",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "f78eeacadad9b33d32dfc6f30744448e3b0c70de",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-ddpkzema-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-hgw89"
                },
                "name": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-hgw89",
                "namespace": "tssc-app-ci",
                "resourceVersion": "50280",
                "uid": "78c4c4ca-795c-455c-84dc-ef324b70db15"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "f78eeacadad9b33d32dfc6f30744448e3b0c70de"
                    },
                    {
                        "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-hdcooh"
                        }
                    },
                    {
                        "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-java9cce9fc21a6137d78691add7cada5f3a-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quark9cce9fc21a6137d78691add7cada5f3a-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-9cce9fc21a6137d78691add7cada5f3a-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-q9cce9fc21a6137d78691add7cada5f3a-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-qua9cce9fc21a6137d78691add7cada5f3a-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:44:30Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:44:30Z",
                        "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-ddpkzema-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "f78eeacadad9b33d32dfc6f30744448e3b0c70de"
                                },
                                {
                                    "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": "f78eeacadad9b33d32dfc6f30744448e3b0c70de"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:43: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=183",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950378884",
                    "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-vlbqxv",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-kfbhr",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-ddpkzema-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-ddpkzema-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "1b72c5828927749129bc60df50b0c9affb45808e",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-gitops/commit/1b72c5828927749129bc60df50b0c9affb45808e",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778211910362",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-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-ddpkzema-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/420ab78f-4867-4d40-bdcf-a596a1d9e190/records/420ab78f-4867-4d40-bdcf-a596a1d9e190",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-ddpkzema-gitops\",\"commit\":\"1b72c5828927749129bc60df50b0c9affb45808e\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/420ab78f-4867-4d40-bdcf-a596a1d9e190",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:45:19Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-ddpkzema",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-ddpkzema",
                    "pipelinesascode.tekton.dev/check-run-id": "74950378884",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "1b72c5828927749129bc60df50b0c9affb45808e",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-ddpkzema-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-kfbhr"
                },
                "name": "e2e-tests-java-quarkus-ddpkzema-gitops-on-pull-request-kfbhr",
                "namespace": "tssc-app-ci",
                "resourceVersion": "52810",
                "uid": "420ab78f-4867-4d40-bdcf-a596a1d9e190"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "1b72c5828927749129bc60df50b0c9affb45808e"
                    },
                    {
                        "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-vlbqxv"
                        }
                    },
                    {
                        "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-javab32d698f440dd0d21539cc3fbc4a23ca-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkb32d698f440dd0d21539cc3fbc4a23ca-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-b32d698f440dd0d21539cc3fbc4a23ca-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-qb32d698f440dd0d21539cc3fbc4a23ca-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quab32d698f440dd0d21539cc3fbc4a23ca-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:46:04Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:46:04Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "1b72c5828927749129bc60df50b0c9affb45808e"
                                },
                                {
                                    "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": "1b72c5828927749129bc60df50b0c9affb45808e"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:45: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=40",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949646390",
                    "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-mjpjnx",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq",
                    "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-ddpkzema-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-ddpkzema",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "38e9b2c1a2467e697b7f6511e68aefb0d434ef35",
                    "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-ddpkzema/commit/38e9b2c1a2467e697b7f6511e68aefb0d434ef35",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778211375887",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema",
                    "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-ddpkzema",
                    "results.tekton.dev/record": "tssc-app-ci/results/d6659e73-077f-4c06-a7e2-13f23125f8a1/records/d6659e73-077f-4c06-a7e2-13f23125f8a1",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-ddpkzema\",\"commit\":\"38e9b2c1a2467e697b7f6511e68aefb0d434ef35\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/d6659e73-077f-4c06-a7e2-13f23125f8a1",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:36:26Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-ddpkzema",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-ddpkzema",
                    "pipelinesascode.tekton.dev/check-run-id": "74949646390",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-ddpkzema-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-repository",
                    "pipelinesascode.tekton.dev/sha": "38e9b2c1a2467e697b7f6511e68aefb0d434ef35",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-ddpkzema",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq"
                },
                "name": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq",
                "namespace": "tssc-app-ci",
                "resourceVersion": "41248",
                "uid": "d6659e73-077f-4c06-a7e2-13f23125f8a1"
            },
            "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-ddpkzema"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                    },
                    {
                        "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-mjpjnx"
                        }
                    },
                    {
                        "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-java7d7ad9617ec06c5370257b42ce40e845-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-pull-request-fp4rq-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:39:45Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:39:45Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 2",
                        "reason": "Completed",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Source Repository URL",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Revision of the Source Repository",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "description": "Fully Qualified Output Image",
                            "name": "output-image",
                            "type": "string"
                        },
                        {
                            "default": ".",
                            "description": "Path to the source code of an application's component from where to build image.",
                            "name": "path-context",
                            "type": "string"
                        },
                        {
                            "default": "Dockerfile",
                            "description": "Path to the Dockerfile inside the context specified by parameter path-context",
                            "name": "dockerfile",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Force rebuild image",
                            "name": "rebuild",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Image tag expiration time, time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.",
                            "name": "image-expires-after",
                            "type": "string"
                        },
                        {
                            "default": "rox-api-token",
                            "name": "stackrox-secret",
                            "type": "string"
                        },
                        {
                            "default": "gitops-auth-secret",
                            "description": "Secret name to enable this pipeline to update the gitops repo with the new image. ",
                            "name": "gitops-auth-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "cosign-pub",
                            "description": "Secret name to enable verify cosign signature. ",
                            "name": "cosign-public-key-secret",
                            "type": "string"
                        },
                        {
                            "default": "push",
                            "description": "Event that triggered the pipeline run, e.g. push, pull_request",
                            "name": "event-type",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Array of --build-arg values (\"arg=value\" strings) for buildah",
                            "name": "build-args",
                            "type": "array"
                        },
                        {
                            "default": "",
                            "description": "Path to a file with build arguments for buildah, see https://www.mankier.com/1/buildah-build#--build-arg-file",
                            "name": "build-args-file",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Digest of the image just built",
                            "name": "IMAGE_DIGEST",
                            "value": "$(tasks.build.results.IMAGE_DIGEST)"
                        },
                        {
                            "description": "Image repository and tag where the built image was pushed",
                            "name": "IMAGE_URL",
                            "value": "$(tasks.build.results.IMAGE_URL)"
                        },
                        {
                            "description": "Digests of the base images used for build",
                            "name": "BASE_IMAGES_DIGESTS",
                            "value": "$(tasks.build.results.BASE_IMAGES_DIGESTS)"
                        },
                        {
                            "description": "Link to the SBOM layer pushed to the registry",
                            "name": "SBOM_BLOB_URL",
                            "value": "$(tasks.build.results.SBOM_BLOB_URL)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_URL",
                            "value": "$(tasks.clone-repository.results.url)"
                        },
                        {
                            "description": "",
                            "name": "CHAINS-GIT_COMMIT",
                            "value": "$(tasks.clone-repository.results.commit)"
                        },
                        {
                            "description": "",
                            "name": "ACS_SCAN_OUTPUT",
                            "value": "$(tasks.scan.results.SCAN_OUTPUT)"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema"
                                },
                                {
                                    "name": "revision",
                                    "value": "38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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": "38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                            },
                                            {
                                                "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-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                                },
                                {
                                    "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:12067e8f3efa0f0fe96501b3de81c33a1b0dccf32da5e3336699cbb03b3a1769"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:on-pr-38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema@sha256:1f1741c2b0ba03271942ba491de1e6b7fa1d1b3190b175bdfddb0acc0e372364"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "38e9b2c1a2467e697b7f6511e68aefb0d434ef35"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":15,\"medium\":90,\"low\":57}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-08T03:36:26Z"
            }
        },
        {
            "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=115",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949941436",
                    "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-obemkq",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm",
                    "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-ddpkzema-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-ddpkzema",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "40817d3285efdb2fd2fc075b580a78c52580eb6a",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778211375887",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema/commit/40817d3285efdb2fd2fc075b580a78c52580eb6a",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema",
                    "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-ddpkzema",
                    "results.tekton.dev/record": "tssc-app-ci/results/93a3d2af-53ae-4410-afbf-038f207dbf64/records/93a3d2af-53ae-4410-afbf-038f207dbf64",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-quarkus-ddpkzema\",\"commit\":\"40817d3285efdb2fd2fc075b580a78c52580eb6a\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/93a3d2af-53ae-4410-afbf-038f207dbf64",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:40:02Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-quarkus-ddpkzema-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-quarkus-ddpkzema",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-id": "e2e-tests-java-quarkus-ddpkzema",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-quarkus-ddpkzema",
                    "pipelinesascode.tekton.dev/check-run-id": "74949941436",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-quarkus-ddpkzema-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-quarkus-ddpkzema-repository",
                    "pipelinesascode.tekton.dev/sha": "40817d3285efdb2fd2fc075b580a78c52580eb6a",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-quarkus-ddpkzema",
                    "tekton.dev/pipeline": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm"
                },
                "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm",
                "namespace": "tssc-app-ci",
                "resourceVersion": "46256",
                "uid": "93a3d2af-53ae-4410-afbf-038f207dbf64"
            },
            "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-ddpkzema"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "40817d3285efdb2fd2fc075b580a78c52580eb6a"
                    },
                    {
                        "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-obemkq"
                        }
                    },
                    {
                        "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-ddpkzema-on-push-lpcqm-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-quarkus-ddpkzema-on-push-lpcqm-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:42:41Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:42:41Z",
                        "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-ddpkzema"
                                },
                                {
                                    "name": "revision",
                                    "value": "40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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": "40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                            },
                                            {
                                                "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-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                                },
                                {
                                    "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:83b8d887176b6087c47b7539d9e2c8de0d23a897871d4c49a54d3a0486ae68b9"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema:40817d3285efdb2fd2fc075b580a78c52580eb6a"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-quarkus-ddpkzema@sha256:69ca139b1e22a514f4ead6e68cc6c6a154a03c61e6865701bbfc199135942816"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-quarkus-ddpkzema"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "40817d3285efdb2fd2fc075b580a78c52580eb6a"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":15,\"medium\":90,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:40: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=187",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950402553",
                    "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-vgdvqv",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-fnct4",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-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-fzhbfkih-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "eb6eefdc073bf66bf1460134bcce7578b59da8a7",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-gitops/commit/eb6eefdc073bf66bf1460134bcce7578b59da8a7",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778211926590",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-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-fzhbfkih-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/fbad59aa-a6e7-4380-a001-997d2e5d496b/records/fbad59aa-a6e7-4380-a001-997d2e5d496b",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-fzhbfkih-gitops\",\"commit\":\"eb6eefdc073bf66bf1460134bcce7578b59da8a7\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/fbad59aa-a6e7-4380-a001-997d2e5d496b",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:45:36Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-fzhbfkih",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-fzhbfkih",
                    "pipelinesascode.tekton.dev/check-run-id": "74950402553",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "eb6eefdc073bf66bf1460134bcce7578b59da8a7",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-fzhbfkih-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-fnct4"
                },
                "name": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-fnct4",
                "namespace": "tssc-app-ci",
                "resourceVersion": "53106",
                "uid": "fbad59aa-a6e7-4380-a001-997d2e5d496b"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "eb6eefdc073bf66bf1460134bcce7578b59da8a7"
                    },
                    {
                        "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-vgdvqv"
                        }
                    },
                    {
                        "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-java64db4ee996440a411fcf98361aefbf80-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprin64db4ee996440a411fcf98361aefbf80-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-64db4ee996440a411fcf98361aefbf80-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-s64db4ee996440a411fcf98361aefbf80-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spr64db4ee996440a411fcf98361aefbf80-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:46:23Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:46: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-java-springboot-fzhbfkih-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "eb6eefdc073bf66bf1460134bcce7578b59da8a7"
                                },
                                {
                                    "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": "eb6eefdc073bf66bf1460134bcce7578b59da8a7"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:45:36Z"
            }
        },
        {
            "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=163",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950262573",
                    "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-hblcon",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-wcnmg",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-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-fzhbfkih-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "110b4f5b9d42709d702ece918bbcc7df9192269e",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-gitops/commit/110b4f5b9d42709d702ece918bbcc7df9192269e",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778211821845",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-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-fzhbfkih-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/10adac14-cab8-4122-84f1-0a318adf645d/records/10adac14-cab8-4122-84f1-0a318adf645d",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-fzhbfkih-gitops\",\"commit\":\"110b4f5b9d42709d702ece918bbcc7df9192269e\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/10adac14-cab8-4122-84f1-0a318adf645d",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:43:51Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-fzhbfkih",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-fzhbfkih",
                    "pipelinesascode.tekton.dev/check-run-id": "74950262573",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "110b4f5b9d42709d702ece918bbcc7df9192269e",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-fzhbfkih-gitops",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-wcnmg"
                },
                "name": "e2e-tests-java-springboot-fzhbfkih-gitops-on-pull-request-wcnmg",
                "namespace": "tssc-app-ci",
                "resourceVersion": "50487",
                "uid": "10adac14-cab8-4122-84f1-0a318adf645d"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "110b4f5b9d42709d702ece918bbcc7df9192269e"
                    },
                    {
                        "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-hblcon"
                        }
                    },
                    {
                        "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-java1c6062376cef421e5ce70409003475b2-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-sprin1c6062376cef421e5ce70409003475b2-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-1c6062376cef421e5ce70409003475b2-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-s1c6062376cef421e5ce70409003475b2-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spr1c6062376cef421e5ce70409003475b2-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:44:37Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:44:37Z",
                        "message": "Tasks Completed: 5 (Failed: 0, Cancelled 0), Skipped: 0",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "pipelineSpec": {
                    "params": [
                        {
                            "description": "Gitops repo url",
                            "name": "git-url",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Gitops repo revision",
                            "name": "revision",
                            "type": "string"
                        },
                        {
                            "default": "main",
                            "description": "The target branch for the pull request",
                            "name": "target-branch",
                            "type": "string"
                        },
                        {
                            "default": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7",
                            "description": "Enterprise Contract policy to validate against",
                            "name": "ec-policy-configuration",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should EC violations cause the pipeline to fail?",
                            "name": "ec-strict",
                            "type": "string"
                        },
                        {
                            "default": "k8s://$(context.pipelineRun.namespace)/cosign-pub",
                            "description": "The public key that EC should use to verify signatures",
                            "name": "ec-public-key",
                            "type": "string"
                        },
                        {
                            "default": "tpa-secret",
                            "description": "The name of the Secret that contains Trustification (TPA) configuration",
                            "name": "trustification-secret-name",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Should the pipeline fail when there are SBOMs to upload but Trustification is not properly configured (i.e. the secret is missing or doesn't have all the required keys)?",
                            "name": "fail-if-trustification-not-configured",
                            "type": "string"
                        }
                    ],
                    "tasks": [
                        {
                            "name": "clone-repository",
                            "params": [
                                {
                                    "name": "url",
                                    "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "110b4f5b9d42709d702ece918bbcc7df9192269e"
                                },
                                {
                                    "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": "110b4f5b9d42709d702ece918bbcc7df9192269e"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:43:51Z"
            }
        },
        {
            "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=66",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949825649",
                    "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-bstwlb",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-fzhbfkih-on-pull-request-f85kq",
                    "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-fzhbfkih-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-fzhbfkih",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "12a5cc7fa4bc6ae28c1dc363109f4649ea911398",
                    "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-fzhbfkih/commit/12a5cc7fa4bc6ae28c1dc363109f4649ea911398",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778211506051",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih",
                    "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-fzhbfkih",
                    "results.tekton.dev/record": "tssc-app-ci/results/9fa749f7-d9e5-455a-93aa-7b4ef3895a42/records/9fa749f7-d9e5-455a-93aa-7b4ef3895a42",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-fzhbfkih\",\"commit\":\"12a5cc7fa4bc6ae28c1dc363109f4649ea911398\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/9fa749f7-d9e5-455a-93aa-7b4ef3895a42",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:38:35Z",
                "finalizers": [
                    "pipelinesascode.tekton.dev/finalizer",
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-fzhbfkih-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-fzhbfkih",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-fzhbfkih",
                    "pipelinesascode.tekton.dev/check-run-id": "74949825649",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-repository",
                    "pipelinesascode.tekton.dev/sha": "12a5cc7fa4bc6ae28c1dc363109f4649ea911398",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-fzhbfkih",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-fzhbfkih-on-pull-request-f85kq"
                },
                "name": "e2e-tests-java-springboot-fzhbfkih-on-pull-request-f85kq",
                "namespace": "tssc-app-ci",
                "resourceVersion": "43072",
                "uid": "9fa749f7-d9e5-455a-93aa-7b4ef3895a42"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                    },
                    {
                        "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-bstwlb"
                        }
                    },
                    {
                        "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-java6ec5280ebe0d79aa424194daf5540519-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-pull-request-f85kq-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-pull-request-f85kq-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spring6ec5280ebe0d79aa424194daf5540519-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-spring6ec5280ebe0d79aa424194daf5540519-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:40:41Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:40:41Z",
                        "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-fzhbfkih"
                                },
                                {
                                    "name": "revision",
                                    "value": "12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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": "12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                            },
                                            {
                                                "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-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                                },
                                {
                                    "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:cd78147f3a385a077f0193a0f65ee7a0eb25707abff9e27f7e7634bc5951f7f2"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:on-pr-12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih@sha256:abb25e22f9fa53542e9099dcd43f588f2c12f339dfcc1cd92ec7c7e769232ee6"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "12a5cc7fa4bc6ae28c1dc363109f4649ea911398"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":10,\"medium\":87,\"low\":57}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-08T03:38:35Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=129",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950042799",
                    "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-dvnxdd",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8",
                    "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-fzhbfkih-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-fzhbfkih",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "00d6c251aca606e121f64fef261f128e12ef8965",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778211506051",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih/commit/00d6c251aca606e121f64fef261f128e12ef8965",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih",
                    "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-fzhbfkih",
                    "results.tekton.dev/record": "tssc-app-ci/results/066bd4a0-22d2-4fb9-a77d-57ff3243f4a0/records/066bd4a0-22d2-4fb9-a77d-57ff3243f4a0",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-fzhbfkih\",\"commit\":\"00d6c251aca606e121f64fef261f128e12ef8965\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/066bd4a0-22d2-4fb9-a77d-57ff3243f4a0",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:41:12Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-fzhbfkih-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-fzhbfkih",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-fzhbfkih",
                    "pipelinesascode.tekton.dev/check-run-id": "74950042799",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-repository",
                    "pipelinesascode.tekton.dev/sha": "00d6c251aca606e121f64fef261f128e12ef8965",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-fzhbfkih",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8"
                },
                "name": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8",
                "namespace": "tssc-app-ci",
                "resourceVersion": "47363",
                "uid": "066bd4a0-22d2-4fb9-a77d-57ff3243f4a0"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "00d6c251aca606e121f64fef261f128e12ef8965"
                    },
                    {
                        "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-dvnxdd"
                        }
                    },
                    {
                        "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-javaed50573ddf903e732488a30fc312b706-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-javaed50573ddf903e732488a30fc312b706-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-s4wx8-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:43:11Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:43:11Z",
                        "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-fzhbfkih"
                                },
                                {
                                    "name": "revision",
                                    "value": "00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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": "00d6c251aca606e121f64fef261f128e12ef8965"
                                            },
                                            {
                                                "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-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                                },
                                {
                                    "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:79d0ad205aba3737205827f20eded95eca1d02d1c103ece88d7b8a4395e818ed"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:00d6c251aca606e121f64fef261f128e12ef8965"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih@sha256:4c287664e70bd82aad32f11aba4d4938a06244621ed6e1c6c54041e337c62f22"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "00d6c251aca606e121f64fef261f128e12ef8965"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":10,\"medium\":87,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:41: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=67",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949795265",
                    "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-fubgfg",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-java-springboot-fzhbfkih-on-push-tns9t",
                    "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-fzhbfkih-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-fzhbfkih",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-qe-ci[bot]",
                    "pipelinesascode.tekton.dev/sha": "c37f58fb14ec465234e4738f6f3768f5df349a89",
                    "pipelinesascode.tekton.dev/sha-title": "initial commit",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih/commit/c37f58fb14ec465234e4738f6f3768f5df349a89",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih",
                    "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-fzhbfkih",
                    "results.tekton.dev/record": "tssc-app-ci/results/d7530e8d-c811-43ed-b071-9ee93d43ab9b/records/d7530e8d-c811-43ed-b071-9ee93d43ab9b",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-java-springboot-fzhbfkih\",\"commit\":\"c37f58fb14ec465234e4738f6f3768f5df349a89\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/d7530e8d-c811-43ed-b071-9ee93d43ab9b",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:38:12Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-java-springboot-fzhbfkih-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-java-springboot-fzhbfkih",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-id": "e2e-tests-java-springboot-fzhbfkih",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-java-springboot-fzhbfkih",
                    "pipelinesascode.tekton.dev/check-run-id": "74949795265",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-java-springboot-fzhbfkih-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-java-springboot-fzhbfkih-repository",
                    "pipelinesascode.tekton.dev/sha": "c37f58fb14ec465234e4738f6f3768f5df349a89",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-java-springboot-fzhbfkih",
                    "tekton.dev/pipeline": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t"
                },
                "name": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t",
                "namespace": "tssc-app-ci",
                "resourceVersion": "43162",
                "uid": "d7530e8d-c811-43ed-b071-9ee93d43ab9b"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "c37f58fb14ec465234e4738f6f3768f5df349a89"
                    },
                    {
                        "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-fubgfg"
                        }
                    },
                    {
                        "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-javaa0f6597a58c687b88c7ab3a9740b4106-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-javaa0f6597a58c687b88c7ab3a9740b4106-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-java-springboot-fzhbfkih-on-push-tns9t-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:40:43Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:40:43Z",
                        "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-fzhbfkih"
                                },
                                {
                                    "name": "revision",
                                    "value": "c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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": "c37f58fb14ec465234e4738f6f3768f5df349a89"
                                            },
                                            {
                                                "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-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                                },
                                {
                                    "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:54e729f489fda8ccc165e86f98f588cfc281df44b4f521e1af5fd5e5fb486522"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih:c37f58fb14ec465234e4738f6f3768f5df349a89"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/openjdk-21:latest@sha256:8260d7b4fecd59f92fe678ea803a206bba3c42afd9265b7a66c2bf167b86ca1c\nregistry.access.redhat.com/ubi9/openjdk-21-runtime:latest@sha256:c90cac905559f62d1b63705f3eb48411465ce9966e1fe84f7ad620aa95011f80\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-java-springboot-fzhbfkih@sha256:ad51166fa9c5b00aa06a2fa95c6a88e544634d04284c6091d4468a13c892d2eb"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-java-springboot-fzhbfkih"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "c37f58fb14ec465234e4738f6f3768f5df349a89"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":10,\"medium\":87,\"low\":57}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:38: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=120",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950114162",
                    "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-ewigrx",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-akflnybi-gitops-on-pull-request-nkbk9",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-akflnybi-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-akflnybi-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "38e2e7b18b17cf7cb29297fa88debffedd6e33ed",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi-gitops/commit/38e2e7b18b17cf7cb29297fa88debffedd6e33ed",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778211716245",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi-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-akflnybi-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/15374fbe-694f-4c82-a14a-c7f071af742f/records/15374fbe-694f-4c82-a14a-c7f071af742f",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-akflnybi-gitops\",\"commit\":\"38e2e7b18b17cf7cb29297fa88debffedd6e33ed\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/15374fbe-694f-4c82-a14a-c7f071af742f",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:42:05Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-akflnybi",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-akflnybi",
                    "pipelinesascode.tekton.dev/check-run-id": "74950114162",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "38e2e7b18b17cf7cb29297fa88debffedd6e33ed",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-akflnybi-gitops",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request-nkbk9"
                },
                "name": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request-nkbk9",
                "namespace": "tssc-app-ci",
                "resourceVersion": "46942",
                "uid": "15374fbe-694f-4c82-a14a-c7f071af742f"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "38e2e7b18b17cf7cb29297fa88debffedd6e33ed"
                    },
                    {
                        "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-ewigrx"
                        }
                    },
                    {
                        "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-node1d48756c676705865a52b1c4c5296a3d-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akf1d48756c676705865a52b1c4c5296a3d-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodej1d48756c676705865a52b1c4c5296a3d-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs1d48756c676705865a52b1c4c5296a3d-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-a1d48756c676705865a52b1c4c5296a3d-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:42:52Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:42:52Z",
                        "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-akflnybi-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "38e2e7b18b17cf7cb29297fa88debffedd6e33ed"
                                },
                                {
                                    "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": "38e2e7b18b17cf7cb29297fa88debffedd6e33ed"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:42:05Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=161",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950258509",
                    "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-njahmn",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-akflnybi-gitops-on-pull-request-qxgvf",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-akflnybi-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-akflnybi-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "b0b521943e186e38d9d162b309c796bff1e06520",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi-gitops/commit/b0b521943e186e38d9d162b309c796bff1e06520",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778211820331",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi-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-akflnybi-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/4975b484-0fd5-4157-a228-89098d8e6f57/records/4975b484-0fd5-4157-a228-89098d8e6f57",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-akflnybi-gitops\",\"commit\":\"b0b521943e186e38d9d162b309c796bff1e06520\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/4975b484-0fd5-4157-a228-89098d8e6f57",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:43:48Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-akflnybi",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-akflnybi",
                    "pipelinesascode.tekton.dev/check-run-id": "74950258509",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "b0b521943e186e38d9d162b309c796bff1e06520",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-akflnybi-gitops",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request-qxgvf"
                },
                "name": "e2e-tests-nodejs-akflnybi-gitops-on-pull-request-qxgvf",
                "namespace": "tssc-app-ci",
                "resourceVersion": "50320",
                "uid": "4975b484-0fd5-4157-a228-89098d8e6f57"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "b0b521943e186e38d9d162b309c796bff1e06520"
                    },
                    {
                        "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-njahmn"
                        }
                    },
                    {
                        "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-node5b2537a57fab48406ac1a312218dc84b-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akf5b2537a57fab48406ac1a312218dc84b-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodej5b2537a57fab48406ac1a312218dc84b-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs5b2537a57fab48406ac1a312218dc84b-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-a5b2537a57fab48406ac1a312218dc84b-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:44:33Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:44:33Z",
                        "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-akflnybi-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "b0b521943e186e38d9d162b309c796bff1e06520"
                                },
                                {
                                    "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": "b0b521943e186e38d9d162b309c796bff1e06520"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:43: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=30",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949629818",
                    "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-egejme",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw",
                    "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-akflnybi-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-akflnybi",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "b7e374766541136712250e65ab4befe55bf1af6e",
                    "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-akflnybi/commit/b7e374766541136712250e65ab4befe55bf1af6e",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778211366201",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi",
                    "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-akflnybi",
                    "results.tekton.dev/record": "tssc-app-ci/results/010dbca0-5269-4de9-83ff-58d55cbe7087/records/010dbca0-5269-4de9-83ff-58d55cbe7087",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-akflnybi\",\"commit\":\"b7e374766541136712250e65ab4befe55bf1af6e\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/010dbca0-5269-4de9-83ff-58d55cbe7087",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:36:15Z",
                "finalizers": [
                    "results.tekton.dev/pipelinerun",
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-nodejs-akflnybi-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-akflnybi",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-akflnybi",
                    "pipelinesascode.tekton.dev/check-run-id": "74949629818",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-akflnybi-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-repository",
                    "pipelinesascode.tekton.dev/sha": "b7e374766541136712250e65ab4befe55bf1af6e",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-akflnybi",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw"
                },
                "name": "e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw",
                "namespace": "tssc-app-ci",
                "resourceVersion": "40030",
                "uid": "010dbca0-5269-4de9-83ff-58d55cbe7087"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "b7e374766541136712250e65ab4befe55bf1af6e"
                    },
                    {
                        "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-egejme"
                        }
                    },
                    {
                        "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-nodea0c416e0dee724d17a7f0263466662c1-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-pull-request-ls9zw-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:38:34Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:38:34Z",
                        "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-akflnybi"
                                },
                                {
                                    "name": "revision",
                                    "value": "b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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": "b7e374766541136712250e65ab4befe55bf1af6e"
                                            },
                                            {
                                                "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-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                                },
                                {
                                    "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:0b491079b1153192b6ad1fd9a4e377e219523b6823c7ae5b169476754f767769"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:on-pr-b7e374766541136712250e65ab4befe55bf1af6e"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/nodejs-22:latest@sha256:fd19820546e11eaedc6439bc1e2797a6f0a6e28df02af244ee4bd80738b0f5a4\nregistry.access.redhat.com/ubi9/nodejs-22-minimal:latest@sha256:bc45230b3bd1c18a73daef4820eea9ab10c295cc23df8366dc0a5532897611c3\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi@sha256:db372c2df5cc7e35fac5ac475f32df5d65809fc837ec46cefbf63e057f637e96"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "b7e374766541136712250e65ab4befe55bf1af6e"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":4,\"medium\":57,\"low\":50}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-08T03:36:15Z"
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "PipelineRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "chains.tekton.dev/transparency": "https://rekor-server-tssc-tas.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=84",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949852983",
                    "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-luiouy",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-nodejs-akflnybi-on-push-fdljg",
                    "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-akflnybi-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-akflnybi",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "ee3af52b37555b9d834a0c996a8e2c7569351b31",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778211366201",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi/commit/ee3af52b37555b9d834a0c996a8e2c7569351b31",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi",
                    "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-akflnybi",
                    "results.tekton.dev/record": "tssc-app-ci/results/b975d31b-66bf-4673-a9d2-5ed9e3b2efba/records/b975d31b-66bf-4673-a9d2-5ed9e3b2efba",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-nodejs-akflnybi\",\"commit\":\"ee3af52b37555b9d834a0c996a8e2c7569351b31\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/b975d31b-66bf-4673-a9d2-5ed9e3b2efba",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:38:55Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-nodejs-akflnybi-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-nodejs-akflnybi",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-id": "e2e-tests-nodejs-akflnybi",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-nodejs-akflnybi",
                    "pipelinesascode.tekton.dev/check-run-id": "74949852983",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-nodejs-akflnybi-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-nodejs-akflnybi-repository",
                    "pipelinesascode.tekton.dev/sha": "ee3af52b37555b9d834a0c996a8e2c7569351b31",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-nodejs-akflnybi",
                    "tekton.dev/pipeline": "e2e-tests-nodejs-akflnybi-on-push-fdljg"
                },
                "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg",
                "namespace": "tssc-app-ci",
                "resourceVersion": "43925",
                "uid": "b975d31b-66bf-4673-a9d2-5ed9e3b2efba"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "ee3af52b37555b9d834a0c996a8e2c7569351b31"
                    },
                    {
                        "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-luiouy"
                        }
                    },
                    {
                        "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-akflnybi-on-push-fdljg-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-nodejs-akflnybi-on-push-fdljg-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:41:07Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:41:07Z",
                        "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-akflnybi"
                                },
                                {
                                    "name": "revision",
                                    "value": "ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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": "ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                            },
                                            {
                                                "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-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                                },
                                {
                                    "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:f0eeb516344d68f7bd7bf0a40708818d36e97a1dbcb66a03c6c7b75a8ac4152c"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi:ee3af52b37555b9d834a0c996a8e2c7569351b31"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/nodejs-22:latest@sha256:fd19820546e11eaedc6439bc1e2797a6f0a6e28df02af244ee4bd80738b0f5a4\nregistry.access.redhat.com/ubi9/nodejs-22-minimal:latest@sha256:bc45230b3bd1c18a73daef4820eea9ab10c295cc23df8366dc0a5532897611c3\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-nodejs-akflnybi@sha256:f174d123d41566b85b1b06d47af997bacd288f764c08c022cd9d3efd228abd0c"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-nodejs-akflnybi"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "ee3af52b37555b9d834a0c996a8e2c7569351b31"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":4,\"medium\":57,\"low\":50}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:38:55Z"
            }
        },
        {
            "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=172",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950324523",
                    "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-yzhuhy",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-ezyrwbes-gitops-on-pull-request-4wlj7",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-ezyrwbes-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-ezyrwbes-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "398b96b392bfdfdbb547f76e951a5dfd6d49870b",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to stage environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes-gitops/commit/398b96b392bfdfdbb547f76e951a5dfd6d49870b",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-stage-1778211869635",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes-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-ezyrwbes-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/3230b0b9-d4a2-4a26-a922-d56aae780c09/records/3230b0b9-d4a2-4a26-a922-d56aae780c09",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-ezyrwbes-gitops\",\"commit\":\"398b96b392bfdfdbb547f76e951a5dfd6d49870b\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/3230b0b9-d4a2-4a26-a922-d56aae780c09",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:44:38Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-ezyrwbes-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-ezyrwbes",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-id": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-ezyrwbes",
                    "pipelinesascode.tekton.dev/check-run-id": "74950324523",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-ezyrwbes-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "398b96b392bfdfdbb547f76e951a5dfd6d49870b",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-ezyrwbes-gitops",
                    "tekton.dev/pipeline": "e2e-tests-python-ezyrwbes-gitops-on-pull-request-4wlj7"
                },
                "name": "e2e-tests-python-ezyrwbes-gitops-on-pull-request-4wlj7",
                "namespace": "tssc-app-ci",
                "resourceVersion": "51962",
                "uid": "3230b0b9-d4a2-4a26-a922-d56aae780c09"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "398b96b392bfdfdbb547f76e951a5dfd6d49870b"
                    },
                    {
                        "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-yzhuhy"
                        }
                    },
                    {
                        "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-pyth34380b0e69a6dd27a309f2b927d28080-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezy34380b0e69a6dd27a309f2b927d28080-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pytho34380b0e69a6dd27a309f2b927d28080-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python34380b0e69a6dd27a309f2b927d28080-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-e34380b0e69a6dd27a309f2b927d28080-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:45:26Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:45:26Z",
                        "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-ezyrwbes-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "398b96b392bfdfdbb547f76e951a5dfd6d49870b"
                                },
                                {
                                    "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": "398b96b392bfdfdbb547f76e951a5dfd6d49870b"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:44:38Z"
            }
        },
        {
            "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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=193",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950460539",
                    "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-uiwyqu",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-ezyrwbes-gitops-on-pull-request-dlchc",
                    "pipelinesascode.tekton.dev/on-event": "[pull_request]",
                    "pipelinesascode.tekton.dev/on-target-branch": "[main]",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-ezyrwbes-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-ezyrwbes-gitops",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-gitops-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "f88cbb23cf8933586dd4fef835c7ca59429b260a",
                    "pipelinesascode.tekton.dev/sha-title": "Promote to prod environment",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes-gitops/commit/f88cbb23cf8933586dd4fef835c7ca59429b260a",
                    "pipelinesascode.tekton.dev/source-branch": "promote-to-prod-1778211970810",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes-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-ezyrwbes-gitops",
                    "results.tekton.dev/record": "tssc-app-ci/results/4750a446-9631-4a41-b0f4-3e03cfa7af96/records/4750a446-9631-4a41-b0f4-3e03cfa7af96",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-ezyrwbes-gitops\",\"commit\":\"f88cbb23cf8933586dd4fef835c7ca59429b260a\",\"eventType\":\"pull_request\",\"pull_request-id\":2}",
                    "results.tekton.dev/result": "tssc-app-ci/results/4750a446-9631-4a41-b0f4-3e03cfa7af96",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:46:19Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-python-ezyrwbes-gitops-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-ezyrwbes",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-id": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-ezyrwbes",
                    "pipelinesascode.tekton.dev/check-run-id": "74950460539",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-ezyrwbes-gitops-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "2",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-gitops-repository",
                    "pipelinesascode.tekton.dev/sha": "f88cbb23cf8933586dd4fef835c7ca59429b260a",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-ezyrwbes-gitops",
                    "tekton.dev/pipeline": "e2e-tests-python-ezyrwbes-gitops-on-pull-request-dlchc"
                },
                "name": "e2e-tests-python-ezyrwbes-gitops-on-pull-request-dlchc",
                "namespace": "tssc-app-ci",
                "resourceVersion": "54020",
                "uid": "4750a446-9631-4a41-b0f4-3e03cfa7af96"
            },
            "spec": {
                "params": [
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes-gitops"
                    },
                    {
                        "name": "revision",
                        "value": "f88cbb23cf8933586dd4fef835c7ca59429b260a"
                    },
                    {
                        "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-uiwyqu"
                        }
                    },
                    {
                        "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-pythb319735188d8971181c60f7cd34fdce0-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyb319735188d8971181c60f7cd34fdce0-get-images",
                        "pipelineTaskName": "get-images"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pythob319735188d8971181c60f7cd34fdce0-verify-conforma",
                        "pipelineTaskName": "verify-conforma",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-pythonb319735188d8971181c60f7cd34fdce0-download-sboms",
                        "pipelineTaskName": "download-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-eb319735188d8971181c60f7cd34fdce0-upload-sboms",
                        "pipelineTaskName": "upload-sboms",
                        "whenExpressions": [
                            {
                                "input": "{\"components\":[{\"containerImage\":\"quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21\"}]}\n",
                                "operator": "notin",
                                "values": [
                                    ""
                                ]
                            }
                        ]
                    }
                ],
                "completionTime": "2026-05-08T03:47:10Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:47:10Z",
                        "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-ezyrwbes-gitops"
                                },
                                {
                                    "name": "revision",
                                    "value": "f88cbb23cf8933586dd4fef835c7ca59429b260a"
                                },
                                {
                                    "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": "f88cbb23cf8933586dd4fef835c7ca59429b260a"
                                            },
                                            {
                                                "name": "PARAM_REFSPEC",
                                                "value": "$(params.refspec)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULES",
                                                "value": "$(params.submodules)"
                                            },
                                            {
                                                "name": "PARAM_SUBMODULE_PATHS",
                                                "value": "$(params.submodulePaths)"
                                            },
                                            {
                                                "name": "PARAM_DEPTH",
                                                "value": "$(params.depth)"
                                            },
                                            {
                                                "name": "PARAM_SHORT_COMMIT_LENGTH",
                                                "value": "$(params.shortCommitLength)"
                                            },
                                            {
                                                "name": "PARAM_SSL_VERIFY",
                                                "value": "$(params.sslVerify)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "PARAM_DELETE_EXISTING",
                                                "value": "$(params.deleteExisting)"
                                            },
                                            {
                                                "name": "PARAM_HTTP_PROXY",
                                                "value": "$(params.httpProxy)"
                                            },
                                            {
                                                "name": "PARAM_HTTPS_PROXY",
                                                "value": "$(params.httpsProxy)"
                                            },
                                            {
                                                "name": "PARAM_NO_PROXY",
                                                "value": "$(params.noProxy)"
                                            },
                                            {
                                                "name": "PARAM_VERBOSE",
                                                "value": "$(params.verbose)"
                                            },
                                            {
                                                "name": "PARAM_SPARSE_CHECKOUT_DIRECTORIES",
                                                "value": "$(params.sparseCheckoutDirectories)"
                                            },
                                            {
                                                "name": "PARAM_USER_HOME",
                                                "value": "$(params.userHome)"
                                            },
                                            {
                                                "name": "PARAM_FETCH_TAGS",
                                                "value": "$(params.fetchTags)"
                                            },
                                            {
                                                "name": "PARAM_GIT_INIT_IMAGE",
                                                "value": "$(params.gitInitImage)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_TARGET_BRANCH",
                                                "value": "$(params.mergeTargetBranch)"
                                            },
                                            {
                                                "name": "PARAM_TARGET_BRANCH",
                                                "value": "$(params.targetBranch)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_REPO_URL",
                                                "value": "$(params.mergeSourceRepoUrl)"
                                            },
                                            {
                                                "name": "PARAM_MERGE_SOURCE_DEPTH",
                                                "value": "$(params.mergeSourceDepth)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.ssh-directory.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_SSH_DIRECTORY_PATH",
                                                "value": "$(workspaces.ssh-directory.path)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND",
                                                "value": "$(workspaces.basic-auth.bound)"
                                            },
                                            {
                                                "name": "WORKSPACE_BASIC_AUTH_DIRECTORY_PATH",
                                                "value": "$(workspaces.basic-auth.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "clone",
                                        "script": "#!/usr/bin/env sh\nset -eu\n\nif [ \"${PARAM_VERBOSE}\" = \"true\" ] ; then\n  set -x\nfi\n\nif [ -n \"${PARAM_GIT_INIT_IMAGE}\" ]; then\n  echo \"WARNING: provided deprecated gitInitImage parameter has no effect.\"\nfi\n\nif [ \"${WORKSPACE_BASIC_AUTH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  if [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" ]; then\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.git-credentials\" \"${PARAM_USER_HOME}/.git-credentials\"\n    cp \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/.gitconfig\" \"${PARAM_USER_HOME}/.gitconfig\"\n  # Compatibility with kubernetes.io/basic-auth secrets\n  elif [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username\" ] \u0026\u0026 [ -f \"${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password\" ]; then\n    HOSTNAME=$(echo $PARAM_URL | awk -F/ '{print $3}')\n    echo \"https://$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/username):$(cat ${WORKSPACE_BASIC_AUTH_DIRECTORY_PATH}/password)@$HOSTNAME\" \u003e \"${PARAM_USER_HOME}/.git-credentials\"\n    echo -e \"[credential \\\"https://$HOSTNAME\\\"]\\n  helper = store\" \u003e \"${PARAM_USER_HOME}/.gitconfig\"\n  else\n    echo \"Unknown basic-auth workspace format\"\n    exit 1\n  fi\n  chmod 400 \"${PARAM_USER_HOME}/.git-credentials\"\n  chmod 400 \"${PARAM_USER_HOME}/.gitconfig\"\nfi\n\n# Should be called after the gitconfig is copied from the repository secret\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  git config --global http.sslCAInfo \"$ca_bundle\"\nfi\n\nif [ \"${WORKSPACE_SSH_DIRECTORY_BOUND}\" = \"true\" ] ; then\n  cp -R \"${WORKSPACE_SSH_DIRECTORY_PATH}\" \"${PARAM_USER_HOME}\"/.ssh\n  chmod 700 \"${PARAM_USER_HOME}\"/.ssh\n  chmod -R 400 \"${PARAM_USER_HOME}\"/.ssh/*\nfi\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\n\ncleandir() {\n  # Delete any existing contents of the repo directory if it exists.\n  #\n  # We don't just \"rm -rf ${CHECKOUT_DIR}\" because ${CHECKOUT_DIR} might be \"/\"\n  # or the root of a mounted volume.\n  if [ -d \"${CHECKOUT_DIR}\" ] ; then\n    # Delete non-hidden files and directories\n    rm -rf \"${CHECKOUT_DIR:?}\"/*\n    # Delete files and directories starting with . but excluding ..\n    rm -rf \"${CHECKOUT_DIR}\"/.[!.]*\n    # Delete files and directories starting with .. plus any other character\n    rm -rf \"${CHECKOUT_DIR}\"/..?*\n  fi\n}\n\nif [ \"${PARAM_DELETE_EXISTING}\" = \"true\" ] ; then\n  cleandir\nfi\n\ntest -z \"${PARAM_HTTP_PROXY}\" || export HTTP_PROXY=\"${PARAM_HTTP_PROXY}\"\ntest -z \"${PARAM_HTTPS_PROXY}\" || export HTTPS_PROXY=\"${PARAM_HTTPS_PROXY}\"\ntest -z \"${PARAM_NO_PROXY}\" || export NO_PROXY=\"${PARAM_NO_PROXY}\"\n\n/ko-app/git-init \\\n  -url=\"${PARAM_URL}\" \\\n  -revision=\"${PARAM_REVISION}\" \\\n  -refspec=\"${PARAM_REFSPEC}\" \\\n  -path=\"${CHECKOUT_DIR}\" \\\n  -sslVerify=\"${PARAM_SSL_VERIFY}\" \\\n  -submodules=\"${PARAM_SUBMODULES}\" \\\n  -submodulePaths=\"${PARAM_SUBMODULE_PATHS}\" \\\n  -depth=\"${PARAM_DEPTH}\" \\\n  -sparseCheckoutDirectories=\"${PARAM_SPARSE_CHECKOUT_DIRECTORIES}\" \\\n  -retryMaxAttempts=10\ncd \"${CHECKOUT_DIR}\"\nRESULT_SHA=\"$(git rev-parse HEAD)\"\nRESULT_SHA_SHORT=\"$(git rev-parse --short=\"${PARAM_SHORT_COMMIT_LENGTH}\" HEAD)\"\nEXIT_CODE=\"$?\"\nif [ \"${EXIT_CODE}\" != 0 ] ; then\n  exit \"${EXIT_CODE}\"\nfi\nif [ \"${PARAM_MERGE_TARGET_BRANCH}\" = \"true\" ]; then\n  echo \"Merge option enabled. Attempting to merge target branch '${PARAM_TARGET_BRANCH}' into HEAD (${RESULT_SHA}).\"\n\n  if [ \"${PARAM_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow clone with depth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  if [ \"${PARAM_MERGE_SOURCE_DEPTH}\" = \"1\" ]; then\n    echo \"WARNING: Shallow fetch with mergeSourceDepth=1 may cause merge conflicts due to insufficient commit history.\" \u003e\u00262\n  fi\n\n  # Determine if merging from a different repository or the same one\n  if [ -n \"${PARAM_MERGE_SOURCE_REPO_URL}\" ]; then\n    # Normalize URLs for comparison (remove trailing slashes and .git suffix)\n    normalize_url() {\n      echo \"$1\" | sed -e 's#/$##' -e 's#\\.git$##'\n    }\n\n    NORMALIZED_ORIGIN_URL=$(normalize_url \"${PARAM_URL}\")\n    NORMALIZED_MERGE_URL=$(normalize_url \"${PARAM_MERGE_SOURCE_REPO_URL}\")\n\n    if [ \"${NORMALIZED_ORIGIN_URL}\" = \"${NORMALIZED_MERGE_URL}\" ]; then\n      echo \"Merge source URL is the same as origin. Using existing 'origin' remote.\"\n      MERGE_REMOTE=\"origin\"\n    else\n      echo \"Merging from different repository: ${PARAM_MERGE_SOURCE_REPO_URL}\"\n      echo \"Adding remote 'merge-source'...\"\n      git remote add merge-source \"${PARAM_MERGE_SOURCE_REPO_URL}\"\n      MERGE_REMOTE=\"merge-source\"\n    fi\n  else\n    echo \"Merging from the same repository (origin)\"\n    MERGE_REMOTE=\"origin\"\n  fi\n\n  echo \"Fetching target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}...\"\n  if [ -n \"${PARAM_MERGE_SOURCE_DEPTH}\" ]; then\n    retry git fetch --depth=\"${PARAM_MERGE_SOURCE_DEPTH}\" ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  else\n    retry git fetch ${MERGE_REMOTE} \"${PARAM_TARGET_BRANCH}\"\n  fi\n  FETCH_EXIT_CODE=\"$?\"\n  if [ \"${FETCH_EXIT_CODE}\" != \"0\" ]; then\n    echo \"ERROR: Failed to fetch target branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE}.\" \u003e\u00262\n    exit \"${FETCH_EXIT_CODE}\"\n  fi\n\n  echo \"Merging ${MERGE_REMOTE}/${PARAM_TARGET_BRANCH} into current HEAD...\"\n  git config --global user.email \"tekton-git-clone@tekton.dev\"\n  git config --global user.name \"Tekton Git Clone Task\"\n  git merge \"${MERGE_REMOTE}/${PARAM_TARGET_BRANCH}\" --no-commit --no-ff --allow-unrelated-histories\n  MERGE_CHECK_EXIT_CODE=\"$?\"\n  if [ \"${MERGE_CHECK_EXIT_CODE}\" != \"0\" ] ; then\n    echo \"ERROR: Merge conflict detected or merge failed before commit.\" \u003e\u00262\n    echo \"--- Git Status ---\"\n    git status\n    echo \"------------------\"\n    exit \"${MERGE_CHECK_EXIT_CODE}\"\n  else\n    # Check if there are changes that need to be merged, and if so, create a merge commit.\n    if git diff --staged --quiet; then\n      echo \"No diff was found, skipping merge...\" \u003e\u00262\n    else\n      echo \"Merge successful (no conflicts found), committing...\"\n      git commit -m \"Merge branch '${PARAM_TARGET_BRANCH}' from ${MERGE_REMOTE} into ${RESULT_SHA}\"\n      COMMIT_EXIT_CODE=\"$?\"\n      if [ \"${COMMIT_EXIT_CODE}\" != \"0\" ]; then\n        echo \"ERROR: Failed to commit merge.\" \u003e\u00262\n        exit \"${COMMIT_EXIT_CODE}\"\n      fi\n      MERGED_SHA=$(git rev-parse HEAD)\n      echo \"New HEAD after merge: ${MERGED_SHA}\"\n      echo \"${MERGED_SHA}\" \u003e \"$(results.merged_sha.path)\"\n    fi\n  fi\nelse\n  echo \"Merge option disabled. Using checked-out revision ${RESULT_SHA} directly.\"\nfi\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.commit.path)\"\nprintf \"%s\" \"${RESULT_SHA}\" \u003e \"$(results.CHAINS-GIT_COMMIT.path)\"\nprintf \"%s\" \"${RESULT_SHA_SHORT}\" \u003e \"$(results.short-commit.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.url.path)\"\nprintf \"%s\" \"${PARAM_URL}\" \u003e \"$(results.CHAINS-GIT_URL.path)\"\nprintf \"%s\" \"$(git log -1 --pretty=%ct)\" \u003e \"$(results.commit-timestamp.path)\"\n\nif [ \"${PARAM_FETCH_TAGS}\" = \"true\" ] ; then\n  echo \"Fetching tags\"\n  retry git fetch --tags\nfi\n",
                                        "securityContext": {
                                            "runAsUser": 0
                                        },
                                        "volumeMounts": [
                                            {
                                                "mountPath": "/mnt/trusted-ca",
                                                "name": "trusted-ca",
                                                "readOnly": true
                                            }
                                        ]
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "PARAM_ENABLE_SYMLINK_CHECK",
                                                "value": "$(params.enableSymlinkCheck)"
                                            },
                                            {
                                                "name": "PARAM_SUBDIRECTORY",
                                                "value": "$(params.subdirectory)"
                                            },
                                            {
                                                "name": "WORKSPACE_OUTPUT_PATH",
                                                "value": "$(workspaces.output.path)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "symlink-check",
                                        "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nCHECKOUT_DIR=\"${WORKSPACE_OUTPUT_PATH}/${PARAM_SUBDIRECTORY}\"\ncheck_symlinks() {\n  FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=false\n  while read -r symlink\n  do\n    target=$(readlink -m \"$symlink\")\n    if ! [[ \"$target\" =~ ^$CHECKOUT_DIR ]]; then\n      echo \"The cloned repository contains symlink pointing outside of the cloned repository: $symlink\"\n      FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO=true\n    fi\n  done \u003c \u003c(find $CHECKOUT_DIR -type l -print)\n  if [ \"$FOUND_SYMLINK_POINTING_OUTSIDE_OF_REPO\" = true ] ; then\n    return 1\n  fi\n}\n\nif [ \"${PARAM_ENABLE_SYMLINK_CHECK}\" = \"true\" ] ; then\n  echo \"Running symlink check\"\n  check_symlinks\nfi\n"
                                    }
                                ],
                                "volumes": [
                                    {
                                        "configMap": {
                                            "items": [
                                                {
                                                    "key": "$(params.caTrustConfigMapKey)",
                                                    "path": "ca-bundle.crt"
                                                }
                                            ],
                                            "name": "$(params.caTrustConfigMapName)",
                                            "optional": true
                                        },
                                        "name": "trusted-ca"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "The git repo will be cloned onto the volume backing this Workspace.",
                                        "name": "output"
                                    },
                                    {
                                        "description": "A .ssh directory with private key, known_hosts, config, etc. Copied to\nthe user's home before git commands are executed. Used to authenticate\nwith the git remote when performing the clone. Binding a Secret to this\nWorkspace is strongly recommended over other volume types.\n",
                                        "name": "ssh-directory",
                                        "optional": true
                                    },
                                    {
                                        "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before any git commands are run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto use ssh-directory over basic-auth whenever possible and to bind a\nSecret to this Workspace over other volume types.\n",
                                        "name": "basic-auth",
                                        "optional": true
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "output",
                                    "workspace": "workspace"
                                },
                                {
                                    "name": "basic-auth",
                                    "workspace": "git-auth"
                                }
                            ]
                        },
                        {
                            "name": "get-images",
                            "params": [
                                {
                                    "name": "PUBLIC_KEY_URL",
                                    "value": "k8s://tssc-app-ci/cosign-pub"
                                },
                                {
                                    "name": "TARGET_BRANCH",
                                    "value": "main"
                                }
                            ],
                            "runAfter": [
                                "clone-repository"
                            ],
                            "taskSpec": {
                                "description": "Extract images from deployment YAML to pass to Conforma for validation",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute.",
                                        "name": "PUBLIC_KEY_URL",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "If specified, will gather only the images that changed between the current revision and the target branch. Useful for pull requests. Note that the repository cloned on the source workspace must already contain the origin/$TARGET_BRANCH reference.\n",
                                        "name": "TARGET_BRANCH",
                                        "type": "string"
                                    },
                                    {
                                        "default": [
                                            "development",
                                            "stage",
                                            "prod"
                                        ],
                                        "description": "Gather images from the manifest files for the specified environments",
                                        "name": "ENVIRONMENTS",
                                        "type": "array"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Cosign base64 encoded public key fetched from secrets.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images with SBOMs to upload to Trustification \n",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    },
                                    {
                                        "description": "The images to be verified, in a format compatible with https://github.com/konflux-ci/build-definitions/tree/main/task/verify-enterprise-contract/0.1. When there are no images to verify, this is an empty string.\n",
                                        "name": "CONFORMA_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TARGET_BRANCH",
                                            "value": "$(params.TARGET_BRANCH)"
                                        },
                                        {
                                            "name": "PUBLIC_KEY_URL",
                                            "value": "$(params.PUBLIC_KEY_URL)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "init",
                                        "script": "pwd\nls -la\n# Sync scripts to the writable workspace\ncp -rf /work/tssc/ $(workspaces.source.path)/\n# Append the dummy function to common.sh\nprintf '\\nfunction registry-login() {\\n  echo \"--- Registry Auth Bypass Active ---\"\\n  return 0\\n}\\n' \u003e\u003e $(workspaces.source.path)/tssc/common.sh\necho \"Successfully patched $(workspaces.source.path)/tssc/common.sh\"\n\necho \"Parsing public key url\"\nCLEAN_URL=\"${PUBLIC_KEY_URL#k8s://}\"\nNS=\"${CLEAN_URL%/*}\"\nSECRET=\"${CLEAN_URL##*/}\"\nCOSIGN_PUBLIC_KEY=$(oc get secrets $SECRET -n $NS -o json | jq -r '.data.\"cosign.pub\"')\necho $COSIGN_PUBLIC_KEY \u003e $(results.COSIGN_PUBLIC_KEY.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    },
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TARGET_BRANCH",
                                                "value": "$(params.TARGET_BRANCH)"
                                            },
                                            {
                                                "name": "PUBLIC_KEY_URL",
                                                "value": "$(params.PUBLIC_KEY_URL)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "get-images",
                                        "script": "echo \"running gather-images-to-upload-sbom\"\n$(workspaces.source.path)/tssc/gather-images-to-upload-sbom.sh\nmv ./results/gather-deploy-images ./results/sbom-images \ncat ./results/sbom-images/IMAGES_TO_VERIFY \u003e $(results.SBOM_IMAGES.path)\n\necho \"running gather-deploy-images\"\n$(workspaces.source.path)/tssc/gather-deploy-images.sh\ncat ./results/gather-deploy-images/IMAGES_TO_VERIFY \u003e $(results.CONFORMA_IMAGES.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "verify-conforma",
                            "params": [
                                {
                                    "name": "STRICT",
                                    "value": "true"
                                },
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "github.com/redhat-appstudio/tssc-dev-multi-ci//samples/conforma/policies/tekton-slsa3-v0.7"
                                },
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Verify the enterprise contract is met",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "enterprise-contract-service/default",
                                        "description": "Name of the policy configuration (EnterpriseContractPolicy\nresource) to use. `namespace/name` or `name` syntax supported. If\nnamespace is omitted the namespace where the task runs is used.\nYou can also specify a policy configuration using a git url, e.g.\n`github.com/conforma/config//slsa3`.\n",
                                        "name": "POLICY_CONFIGURATION",
                                        "type": "string"
                                    },
                                    {
                                        "default": "true",
                                        "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                                        "name": "STRICT",
                                        "type": "string"
                                    }
                                ],
                                "results": [
                                    {
                                        "description": "Short summary of the policy evaluation for each image.",
                                        "name": "TEST_OUTPUT",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "STRICT",
                                            "value": "$(params.STRICT)"
                                        },
                                        {
                                            "name": "POLICY_CONFIGURATION",
                                            "value": "$(params.POLICY_CONFIGURATION)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "STRICT",
                                                "value": "$(params.STRICT)"
                                            },
                                            {
                                                "name": "POLICY_CONFIGURATION",
                                                "value": "$(params.POLICY_CONFIGURATION)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "verify",
                                        "script": "echo \"running verify-conforma\"\n$(workspaces.source.path)/tssc/verify-conforma.sh\ncat ./results/verify-conforma/TEST_OUTPUT \u003e $(results.TEST_OUTPUT.path)\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.CONFORMA_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "download-sboms",
                            "params": [
                                {
                                    "name": "COSIGN_PUBLIC_KEY",
                                    "value": "$(tasks.get-images.results.COSIGN_PUBLIC_KEY)"
                                },
                                {
                                    "name": "SBOM_IMAGES",
                                    "value": "$(tasks.get-images.results.SBOM_IMAGES)"
                                }
                            ],
                            "runAfter": [
                                "get-images"
                            ],
                            "taskSpec": {
                                "description": "Download SBOM from images",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "default": "",
                                        "description": "Public key used to verify signatures. Must be a base64 encoded key.",
                                        "name": "COSIGN_PUBLIC_KEY",
                                        "type": "string"
                                    },
                                    {
                                        "default": "",
                                        "description": "Images to be considered for SBOM download.",
                                        "name": "SBOM_IMAGES",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "COSIGN_PUBLIC_KEY",
                                            "value": "$(params.COSIGN_PUBLIC_KEY)"
                                        },
                                        {
                                            "name": "IMAGES",
                                            "value": "$(params.SBOM_IMAGES)"
                                        },
                                        {
                                            "name": "REKOR_HOST",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "rekor_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TUF_MIRROR",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "tuf_url",
                                                    "name": "tas-secret"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "COSIGN_PUBLIC_KEY",
                                                "value": "$(params.COSIGN_PUBLIC_KEY)"
                                            },
                                            {
                                                "name": "IMAGES",
                                                "value": "$(params.SBOM_IMAGES)"
                                            },
                                            {
                                                "name": "REKOR_HOST",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "rekor_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TUF_MIRROR",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "tuf_url",
                                                        "name": "tas-secret"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "download",
                                        "script": "echo \"running download-sbom-from-url-in-attestation\"\n$(workspaces.source.path)/tssc/download-sbom-from-url-in-attestation.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        },
                        {
                            "name": "upload-sboms",
                            "params": [
                                {
                                    "name": "TPA_SECRET",
                                    "value": "tpa-secret"
                                }
                            ],
                            "runAfter": [
                                "download-sboms"
                            ],
                            "taskSpec": {
                                "description": "Upload SBOMs to Trustification",
                                "metadata": {
                                    "labels": {
                                        "app.kubernetes.io/version": "0.1"
                                    }
                                },
                                "params": [
                                    {
                                        "description": "TPA Secret to obtain Trustification vars from.",
                                        "name": "TPA_SECRET",
                                        "type": "string"
                                    }
                                ],
                                "spec": null,
                                "stepTemplate": {
                                    "computeResources": {},
                                    "env": [
                                        {
                                            "name": "CI_TYPE",
                                            "value": "tekton"
                                        },
                                        {
                                            "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "bombastic_api_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_id",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_client_secret",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "oidc_issuer_url",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        },
                                        {
                                            "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                            "valueFrom": {
                                                "secretKeyRef": {
                                                    "key": "supported_cyclonedx_version",
                                                    "name": "$(params.TPA_SECRET)"
                                                }
                                            }
                                        }
                                    ],
                                    "workingDir": "$(workspaces.source.path)/source"
                                },
                                "steps": [
                                    {
                                        "computeResources": {},
                                        "env": [
                                            {
                                                "name": "CI_TYPE",
                                                "value": "tekton"
                                            },
                                            {
                                                "name": "TRUSTIFICATION_BOMBASTIC_API_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "bombastic_api_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_ID",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_id",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_CLIENT_SECRET",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_client_secret",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_OIDC_ISSUER_URL",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "oidc_issuer_url",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            },
                                            {
                                                "name": "TRUSTIFICATION_SUPPORTED_CYCLONEDX_VERSION",
                                                "valueFrom": {
                                                    "secretKeyRef": {
                                                        "key": "supported_cyclonedx_version",
                                                        "name": "$(params.TPA_SECRET)"
                                                    }
                                                }
                                            }
                                        ],
                                        "image": "quay.io/redhat-appstudio/rhtap-task-runner:latest",
                                        "imagePullPolicy": "Always",
                                        "name": "upload",
                                        "script": "echo \"running upload-sbom-to-trustification\"\n$(workspaces.source.path)/tssc/upload-sbom-to-trustification.sh\n",
                                        "workingDir": "$(workspaces.source.path)/source"
                                    }
                                ],
                                "workspaces": [
                                    {
                                        "description": "Should contain a cloned gitops repo at the ./source subpath",
                                        "name": "source"
                                    }
                                ]
                            },
                            "when": [
                                {
                                    "input": "$(tasks.get-images.results.SBOM_IMAGES)",
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ],
                            "workspaces": [
                                {
                                    "name": "source",
                                    "workspace": "workspace"
                                }
                            ]
                        }
                    ],
                    "workspaces": [
                        {
                            "name": "workspace"
                        },
                        {
                            "name": "git-auth",
                            "optional": true
                        }
                    ]
                },
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-05-08T03:46: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=58",
                    "pipelinesascode.tekton.dev/branch": "main",
                    "pipelinesascode.tekton.dev/check-run-id": "74949624035",
                    "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-equqeu",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-ezyrwbes-on-pull-request-hj9zq",
                    "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-ezyrwbes-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-ezyrwbes",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87",
                    "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-ezyrwbes/commit/d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87",
                    "pipelinesascode.tekton.dev/source-branch": "test-branch-1778211361042",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes",
                    "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-ezyrwbes",
                    "results.tekton.dev/record": "tssc-app-ci/results/70c39720-d910-40dc-b254-e5363f872941/records/70c39720-d910-40dc-b254-e5363f872941",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-ezyrwbes\",\"commit\":\"d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87\",\"eventType\":\"pull_request\",\"pull_request-id\":1}",
                    "results.tekton.dev/result": "tssc-app-ci/results/70c39720-d910-40dc-b254-e5363f872941",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:36:11Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "results.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer"
                ],
                "generateName": "e2e-tests-python-ezyrwbes-on-pull-request-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-ezyrwbes",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-id": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-ezyrwbes",
                    "pipelinesascode.tekton.dev/check-run-id": "74949624035",
                    "pipelinesascode.tekton.dev/event-type": "pull_request",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-ezyrwbes-on-pull-request",
                    "pipelinesascode.tekton.dev/pull-request": "1",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-repository",
                    "pipelinesascode.tekton.dev/sha": "d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-ezyrwbes",
                    "tekton.dev/pipeline": "e2e-tests-python-ezyrwbes-on-pull-request-hj9zq"
                },
                "name": "e2e-tests-python-ezyrwbes-on-pull-request-hj9zq",
                "namespace": "tssc-app-ci",
                "resourceVersion": "42563",
                "uid": "70c39720-d910-40dc-b254-e5363f872941"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                    },
                    {
                        "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-equqeu"
                        }
                    },
                    {
                        "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-pytheb1450d6875469e6919a6739596938d7-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-pull-request-hj9zq-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-pull-request-hj9zq-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-pull-request-hj9zq-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-pull-request-hj9zq-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:40:30Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:40:30Z",
                        "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-ezyrwbes"
                                },
                                {
                                    "name": "revision",
                                    "value": "d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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": "d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                            },
                                            {
                                                "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-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                                },
                                {
                                    "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:33bf462d9995dc2956fc504af26bd9cdb8595f05fe40aa7f9cc8dee9afba82b7"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:on-pr-d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/python-312:latest@sha256:21739f35258f21e23a7e02e79c763f2a69e605416fedd54b6ec9c5ef68fd1f43\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-ezyrwbes@sha256:e57763bd4fce8fdabc385ca46c0f14e186d730b8bbf492f24e0bc830bc263deb"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "d6ffd09295b379c5f77b75a6eadb4fbbc7e8bf87"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":9,\"medium\":135,\"low\":225}}\n"
                    }
                ],
                "skippedTasks": [
                    {
                        "name": "deploy",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "name": "deployment-check",
                        "reason": "When Expressions evaluated to false",
                        "whenExpressions": [
                            {
                                "input": "pull_request",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    }
                ],
                "startTime": "2026-05-08T03:36: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-292cc5125b.a39l.p3.openshiftapps.com/api/v1/log/entries?logIndex=135",
                    "pipelinesascode.tekton.dev/branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/check-run-id": "74950012118",
                    "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-iavvyi",
                    "pipelinesascode.tekton.dev/git-provider": "github",
                    "pipelinesascode.tekton.dev/installation-id": "47332704",
                    "pipelinesascode.tekton.dev/log-url": "https://console-openshift-console.apps.rosa.kx-292cc5125b.a39l.p3.openshiftapps.com/k8s/ns/tssc-app-ci/tekton.dev~v1~PipelineRun/e2e-tests-python-ezyrwbes-on-push-86tl6",
                    "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-ezyrwbes-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-ezyrwbes",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-repository",
                    "pipelinesascode.tekton.dev/scm-reporting-plr-started": "true",
                    "pipelinesascode.tekton.dev/sender": "rhtap-ci-tests-bot",
                    "pipelinesascode.tekton.dev/sha": "806e0a4716df729dacbcab6246b11942295f0e21",
                    "pipelinesascode.tekton.dev/sha-title": "Merge pull request #1 from rhtap-rhdh-qe/test-branch-1778211361042",
                    "pipelinesascode.tekton.dev/sha-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes/commit/806e0a4716df729dacbcab6246b11942295f0e21",
                    "pipelinesascode.tekton.dev/source-branch": "refs/heads/main",
                    "pipelinesascode.tekton.dev/source-repo-url": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes",
                    "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-ezyrwbes",
                    "results.tekton.dev/record": "tssc-app-ci/results/0f2c73ad-2ca2-4268-bc93-942450848969/records/0f2c73ad-2ca2-4268-bc93-942450848969",
                    "results.tekton.dev/recordSummaryAnnotations": "{\"repo\":\"e2e-tests-python-ezyrwbes\",\"commit\":\"806e0a4716df729dacbcab6246b11942295f0e21\",\"eventType\":\"push\"}",
                    "results.tekton.dev/result": "tssc-app-ci/results/0f2c73ad-2ca2-4268-bc93-942450848969",
                    "results.tekton.dev/stored": "true"
                },
                "creationTimestamp": "2026-05-08T03:40:50Z",
                "finalizers": [
                    "chains.tekton.dev/pipelinerun",
                    "pipelinesascode.tekton.dev/finalizer",
                    "results.tekton.dev/pipelinerun"
                ],
                "generateName": "e2e-tests-python-ezyrwbes-on-push-",
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "pipelinesascode.tekton.dev",
                    "app.kubernetes.io/part-of": "e2e-tests-python-ezyrwbes",
                    "app.kubernetes.io/version": "v0.39.5",
                    "argocd/app-name": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-id": "e2e-tests-python-ezyrwbes",
                    "backstage.io/kubernetes-namespace": "tssc-app",
                    "janus-idp.io/tekton": "e2e-tests-python-ezyrwbes",
                    "pipelinesascode.tekton.dev/check-run-id": "74950012118",
                    "pipelinesascode.tekton.dev/event-type": "push",
                    "pipelinesascode.tekton.dev/original-prname": "e2e-tests-python-ezyrwbes-on-push",
                    "pipelinesascode.tekton.dev/repository": "e2e-tests-python-ezyrwbes-repository",
                    "pipelinesascode.tekton.dev/sha": "806e0a4716df729dacbcab6246b11942295f0e21",
                    "pipelinesascode.tekton.dev/state": "completed",
                    "pipelinesascode.tekton.dev/url-org": "rhtap-rhdh-qe",
                    "pipelinesascode.tekton.dev/url-repository": "e2e-tests-python-ezyrwbes",
                    "tekton.dev/pipeline": "e2e-tests-python-ezyrwbes-on-push-86tl6"
                },
                "name": "e2e-tests-python-ezyrwbes-on-push-86tl6",
                "namespace": "tssc-app-ci",
                "resourceVersion": "48351",
                "uid": "0f2c73ad-2ca2-4268-bc93-942450848969"
            },
            "spec": {
                "params": [
                    {
                        "name": "dockerfile",
                        "value": "docker/Dockerfile"
                    },
                    {
                        "name": "git-url",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes"
                    },
                    {
                        "name": "image-expires-after",
                        "value": "5d"
                    },
                    {
                        "name": "output-image",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                    },
                    {
                        "name": "path-context",
                        "value": "."
                    },
                    {
                        "name": "revision",
                        "value": "806e0a4716df729dacbcab6246b11942295f0e21"
                    },
                    {
                        "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-iavvyi"
                        }
                    },
                    {
                        "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-ezyrwbes-on-push-86tl6-clone-repository",
                        "pipelineTaskName": "clone-repository"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-push-86tl6-build",
                        "pipelineTaskName": "build"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-push-86tl6-deploy",
                        "pipelineTaskName": "deploy",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "notin",
                                "values": [
                                    "pull_request",
                                    "Merge Request"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-push-86tl6-deployment-check",
                        "pipelineTaskName": "deployment-check",
                        "whenExpressions": [
                            {
                                "input": "push",
                                "operator": "in",
                                "values": [
                                    "push",
                                    "Push"
                                ]
                            }
                        ]
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-push-86tl6-scan",
                        "pipelineTaskName": "scan"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-push-86tl6-show-sbom",
                        "pipelineTaskName": "show-sbom"
                    },
                    {
                        "apiVersion": "tekton.dev/v1",
                        "kind": "TaskRun",
                        "name": "e2e-tests-python-ezyrwbes-on-push-86tl6-summarize",
                        "pipelineTaskName": "summarize"
                    }
                ],
                "completionTime": "2026-05-08T03:43:31Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-05-08T03:43:31Z",
                        "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-ezyrwbes"
                                },
                                {
                                    "name": "revision",
                                    "value": "806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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": "806e0a4716df729dacbcab6246b11942295f0e21"
                                            },
                                            {
                                                "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-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                                },
                                {
                                    "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:dac46855c82820c997ca355b9e9f8f5a66ac5af6591f38e6bcda6cc668a6e4bb"
                    },
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-ezyrwbes:806e0a4716df729dacbcab6246b11942295f0e21"
                    },
                    {
                        "name": "BASE_IMAGES_DIGESTS",
                        "value": "registry.access.redhat.com/ubi9/python-312:latest@sha256:21739f35258f21e23a7e02e79c763f2a69e605416fedd54b6ec9c5ef68fd1f43\n"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "value": "quay.io/rhtap_qe/e2e-tests-python-ezyrwbes@sha256:1b4ce1432afc58a2b34139a1a09653be2660c30deedd7a5f0e46d0ef5e80b78f"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "value": "https://github.com/rhtap-rhdh-qe/e2e-tests-python-ezyrwbes"
                    },
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "value": "806e0a4716df729dacbcab6246b11942295f0e21"
                    },
                    {
                        "name": "ACS_SCAN_OUTPUT",
                        "value": "{\"vulnerabilities\":{\"critical\":0,\"high\":9,\"medium\":135,\"low\":225}}\n"
                    }
                ],
                "startTime": "2026-05-08T03:40:51Z"
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
