{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/ac064aa4-cea7-4927-ab67-645f839f4309",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "konflux",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-aac2daa23b35faa8-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:48:05Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.3",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "apply-tags",
                    "tekton.dev/task": "apply-tags"
                },
                "name": "buildah-demo-ugtyfcxpkw-apply-tags",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "49637",
                "uid": "ac064aa4-cea7-4927-ab67-645f839f4309"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGE_URL",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                    },
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "apply-tags"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-apply-tags:0.3@sha256:a291081de7fb27f832c6fc3c4b078acf7e6162ca4c085db38b118ca87e8b5b66"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:48:09Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:48:09Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-apply-tags-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "a291081de7fb27f832c6fc3c4b078acf7e6162ca4c085db38b118ca87e8b5b66"
                        },
                        "entryPoint": "apply-tags",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-apply-tags"
                    }
                },
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-aac2daa23b35faa8-01"
                },
                "startTime": "2026-06-29T05:48:05Z",
                "steps": [
                    {
                        "container": "step-apply-additional-tags",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:25fa4c4eeec8509c3486d24d3d215fc4c8280b1b0ca9cc8f4f7569f3a9523a25",
                        "name": "apply-additional-tags",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://7a897c51ba7c7773a9f30cc2dfedaa29cec0f6e12b129066b2c8a94a526ea158",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:09Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:08Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Applies additional tags to the built image.",
                    "params": [
                        {
                            "description": "Image repository and tag reference of the the built image.",
                            "name": "IMAGE_URL",
                            "type": "string"
                        },
                        {
                            "description": "Image digest of the built image.",
                            "name": "IMAGE_DIGEST",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Additional tags that will be applied to the image in the registry.",
                            "name": "ADDITIONAL_TAGS",
                            "type": "array"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIG_MAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "info",
                            "description": "Log level to use in the task. See golang logrus docs for available levels.",
                            "name": "LOG_LEVEL",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "volumeMounts": [
                            {
                                "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                "name": "trusted-ca",
                                "readOnly": true,
                                "subPath": "ca-bundle.crt"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "--image-url",
                                "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw",
                                "--digest",
                                "sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8",
                                "--tags",
                                "--tags-from-image-label",
                                "konflux.additional-tags"
                            ],
                            "command": [
                                "konflux-build-cli",
                                "image",
                                "apply-tags"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "KBC_LOG_LEVEL",
                                    "value": "info"
                                }
                            ],
                            "image": "quay.io/konflux-ci/konflux-build-cli@sha256:b296232c9b0d478c0bd1f48911ead97cd786eebdc737b877797564567fda8eae",
                            "name": "apply-additional-tags"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/affinity-assistant": "affinity-assistant-3a9283a18f",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/bf6fb648-ece2-4a67-998b-80096bdd2645",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "image-build, konflux",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-87c21a4ceaf2cfdb-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:45:32Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.10.3",
                    "build.appstudio.redhat.com/build_type": "docker",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "build-container",
                    "tekton.dev/task": "buildah"
                },
                "name": "buildah-demo-ugtyfcxpkw-build-container",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "48886",
                "uid": "bf6fb648-ece2-4a67-998b-80096bdd2645"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGE",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                    },
                    {
                        "name": "DOCKERFILE",
                        "value": "Containerfile"
                    },
                    {
                        "name": "CONTEXT",
                        "value": "."
                    },
                    {
                        "name": "HERMETIC",
                        "value": "false"
                    },
                    {
                        "name": "PREFETCH_INPUT",
                        "value": ""
                    },
                    {
                        "name": "IMAGE_EXPIRES_AFTER",
                        "value": ""
                    },
                    {
                        "name": "COMMIT_SHA",
                        "value": "1170f583db17b9db20e993f89d6907dab9acc06f"
                    },
                    {
                        "name": "BUILD_ARGS",
                        "value": []
                    },
                    {
                        "name": "BUILD_ARGS_FILE",
                        "value": ""
                    },
                    {
                        "name": "PRIVILEGED_NESTED",
                        "value": "false"
                    },
                    {
                        "name": "SOURCE_URL",
                        "value": "https://github.com/conforma/golden-container.git"
                    },
                    {
                        "name": "BUILDAH_FORMAT",
                        "value": "docker"
                    },
                    {
                        "name": "HTTP_PROXY",
                        "value": ""
                    },
                    {
                        "name": "NO_PROXY",
                        "value": ""
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "buildah"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-buildah:0.10@sha256:e8b6e6265738efa96a10230af1f76b05c1e9bc234f3daa03170838e5e459efb3"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s",
                "workspaces": [
                    {
                        "name": "source",
                        "persistentVolumeClaim": {
                            "claimName": "app-studio-default-workspace"
                        }
                    }
                ]
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:47:22Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:47:22Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-build-container-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "e8b6e6265738efa96a10230af1f76b05c1e9bc234f3daa03170838e5e459efb3"
                        },
                        "entryPoint": "buildah",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-buildah"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_DIGEST",
                        "type": "string",
                        "value": "sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    },
                    {
                        "name": "IMAGE_REF",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    },
                    {
                        "name": "IMAGE_URL",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                    },
                    {
                        "name": "SBOM_BLOB_URL",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images@sha256:c6cf1fc4efe14fc4df70e9d4dcf4a7e5300e5ed132f13fcffc990bf0e3387a2d"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-87c21a4ceaf2cfdb-01"
                },
                "startTime": "2026-06-29T05:45:32Z",
                "steps": [
                    {
                        "container": "step-build",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:c96e3e6cc593a2dfbb443f39d0419777b099e425c5da23a8fe4fc4309ac6ac40",
                        "name": "build",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://5eb9729f176d4dd03ca9737ecb82191975ef35f482938616f00e5ecc8afa6b66",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:46:33Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:46:04Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-push",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:7881de18a51416bb20548a23897225a14f4301c78663531d8c78b7f8af249747",
                        "name": "push",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://7d8fa22a661a7ffc0279c1c50a86c73bac3619bae7c65258e6c5849330338322",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:46:41Z",
                            "message": "[{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:46:33Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-sbom-syft-generate",
                        "imageID": "quay.io/konflux-ci/task-runner@sha256:1abfe4e50d4e961d0fd9790202565f93ee650fe8dfc50932c94989acba10485f",
                        "name": "sbom-syft-generate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://0c4241f9548c1c3c5c584919a8423b75dd50dcb3d4f4ad0ac75281218abf5536",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:46:43Z",
                            "message": "[{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:46:41Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-prepare-sboms",
                        "imageID": "quay.io/konflux-ci/mobster@sha256:135eec87fe80d0751a1ea5e8e47b240147b25ee9a41973cae365540d2e2ee473",
                        "name": "prepare-sboms",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://f011d85314a91f40485fc4e3705b9f0daa83c66f559291bac8005243ba91addc",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:46:57Z",
                            "message": "[{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:46:44Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-upload-sbom",
                        "imageID": "quay.io/konflux-ci/task-runner@sha256:1abfe4e50d4e961d0fd9790202565f93ee650fe8dfc50932c94989acba10485f",
                        "name": "upload-sbom",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://8fefada51a149e5e6d07794113f8f300fa13ec76161091a8e639bad74d5afae1",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:47:21Z",
                            "message": "[{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1},{\"key\":\"SBOM_BLOB_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:c6cf1fc4efe14fc4df70e9d4dcf4a7e5300e5ed132f13fcffc990bf0e3387a2d\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:46:58Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Buildah task 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.\nWhen prefetch-dependencies task is activated it is using its artifacts to run build in hermetic environment.",
                    "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": "false",
                            "description": "Determines if build will be executed without network access.",
                            "name": "HERMETIC",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "In case it is not empty, the prefetched content should be made available to the build.",
                            "name": "PREFETCH_INPUT",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Delete image tag after specified time. Empty means to keep the image tag. Time values could be something like 1h, 2d, 3w for hours, days, and weeks, respectively.",
                            "name": "IMAGE_EXPIRES_AFTER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "The image is built from this commit.",
                            "name": "COMMIT_SHA",
                            "type": "string"
                        },
                        {
                            "default": "repos.d",
                            "description": "Path in the git repository in which yum repository files are stored",
                            "name": "YUM_REPOS_D_SRC",
                            "type": "string"
                        },
                        {
                            "default": "fetched.repos.d",
                            "description": "Path in source workspace where dynamically-fetched repos are present",
                            "name": "YUM_REPOS_D_FETCHED",
                            "type": "string"
                        },
                        {
                            "default": "/etc/yum.repos.d",
                            "description": "Target path on the container in which yum repository files should be made available",
                            "name": "YUM_REPOS_D_TARGET",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Target stage in Dockerfile to build. If not specified, the Dockerfile is processed entirely to (and including) its last stage.",
                            "name": "TARGET_STAGE",
                            "type": "string"
                        },
                        {
                            "default": "etc-pki-entitlement",
                            "description": "Name of secret which contains the entitlement certificates",
                            "name": "ENTITLEMENT_SECRET",
                            "type": "string"
                        },
                        {
                            "default": "activation-key",
                            "description": "Name of secret which contains subscription activation key",
                            "name": "ACTIVATION_KEY",
                            "type": "string"
                        },
                        {
                            "default": "does-not-exist",
                            "description": "Name of a secret which will be made available to the build with 'buildah build --secret' at /run/secrets/$ADDITIONAL_SECRET",
                            "name": "ADDITIONAL_SECRET",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Array of --build-arg values (\"arg=value\" strings)",
                            "name": "BUILD_ARGS",
                            "type": "array"
                        },
                        {
                            "default": [],
                            "description": "Array of --env values (\"env=value\" strings)",
                            "name": "ENV_VARS",
                            "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": "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": "true",
                            "description": "Whether to keep compatibility location at /root/buildinfo/ for ICM injection",
                            "name": "ICM_KEEP_COMPAT_LOCATION",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Comma separated list of extra capabilities to add when running 'buildah build'",
                            "name": "ADD_CAPABILITIES",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Squash all new and previous layers added as a part of this build, as per --squash",
                            "name": "SQUASH",
                            "type": "string"
                        },
                        {
                            "default": "overlay",
                            "description": "Storage driver to configure for buildah",
                            "name": "STORAGE_DRIVER",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Whether to skip stages in Containerfile that seem unused by subsequent stages",
                            "name": "SKIP_UNUSED_STAGES",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Additional key=value labels that should be applied to the image",
                            "name": "LABELS",
                            "type": "array"
                        },
                        {
                            "default": [],
                            "description": "Additional key=value annotations that should be applied to the image",
                            "name": "ANNOTATIONS",
                            "type": "array"
                        },
                        {
                            "default": "",
                            "description": "Path to a file with additional key=value annotations that should be applied to the image",
                            "name": "ANNOTATIONS_FILE",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Whether to enable privileged mode, should be used only with remote VMs",
                            "name": "PRIVILEGED_NESTED",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip SBOM-related operations. This will likely cause EC policies to fail if enabled",
                            "name": "SKIP_SBOM_GENERATION",
                            "type": "string"
                        },
                        {
                            "default": "spdx",
                            "description": "Select the SBOM format to generate. Valid values: spdx, cyclonedx. Note: the SBOM from the prefetch task - if there is one - must be in the same format.",
                            "name": "SBOM_TYPE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Extra option to customize Syft's default catalogers when generating SBOMs. The value corresponds to Syft's CLI flag --select-catalogers. The details about available catalogers can be found here: https://github.com/anchore/syft/wiki/Package-Cataloger-Selection",
                            "name": "SBOM_SYFT_SELECT_CATALOGERS",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Flag to enable or disable SBOM generation from source code. The scanner of the source code is enabled only for non-hermetic builds and can be disabled if the SBOM_SYFT_SELECT_CATALOGERS can't turn off catalogers that cause false positives on source code scanning.",
                            "name": "SBOM_SOURCE_SCAN_ENABLED",
                            "type": "string"
                        },
                        {
                            "default": "oci",
                            "description": "The format for the resulting image's mediaType. Valid values are oci (default) or docker.",
                            "name": "BUILDAH_FORMAT",
                            "type": "string"
                        },
                        {
                            "default": [],
                            "description": "Additional base image references to include to the SBOM. Array of image_reference_with_digest strings",
                            "name": "ADDITIONAL_BASE_IMAGES",
                            "type": "array"
                        },
                        {
                            "default": "",
                            "description": "Mount the current working directory into the build using --volume $PWD:/$WORKINGDIR_MOUNT. Note that the $PWD will be the context directory for the build (see the CONTEXT param).",
                            "name": "WORKINGDIR_MOUNT",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Determines if the image inherits the base image labels.",
                            "name": "INHERIT_BASE_IMAGE_LABELS",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "HTTP/HTTPS proxy to use for the buildah pull and build operations. Will not be passed through to the container during the build process.",
                            "name": "HTTP_PROXY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Comma separated list of hosts or domains which should bypass the HTTP/HTTPS proxy.",
                            "name": "NO_PROXY",
                            "type": "string"
                        },
                        {
                            "default": "caching-ca-bundle",
                            "description": "The name of the ConfigMap to read proxy CA bundle data from.",
                            "name": "PROXY_CA_TRUST_CONFIG_MAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the proxy CA bundle data.",
                            "name": "PROXY_CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Defines the single build time for all buildah builds in seconds since UNIX epoch. Conflicts with SOURCE_DATE_EPOCH.",
                            "name": "BUILD_TIMESTAMP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "The image is built from this URL.",
                            "name": "SOURCE_URL",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Determines if SBOM will be contextualized.",
                            "name": "CONTEXTUALIZE_SBOM",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Flag to enable or disable SBOM validation before save. Validation is optional - use this if you are experiencing performance issues.",
                            "name": "SBOM_SKIP_VALIDATION",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Omit build history information from the resulting image. Improves reproducibility by excluding timestamps and layer metadata.",
                            "name": "OMIT_HISTORY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Timestamp in seconds since Unix epoch for reproducible builds. Sets image created time and SOURCE_DATE_EPOCH build arg. Conflicts with BUILD_TIMESTAMP.",
                            "name": "SOURCE_DATE_EPOCH",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Clamp mtime of all files to at most SOURCE_DATE_EPOCH. Does nothing if SOURCE_DATE_EPOCH is not defined.",
                            "name": "REWRITE_TIMESTAMP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Don't inject a content-sets.json or a labels.json file. This requires that the canonical Containerfile takes care of this itself.",
                            "name": "SKIP_INJECTIONS",
                            "type": "string"
                        },
                        {
                            "default": "info",
                            "description": "Log level for the build command.",
                            "name": "LOG_LEVEL",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Allows to use parent images that don't match the build host architecture. This option must be used with caution as it may create incompatible images.",
                            "name": "ALLOW_CROSS_PLATFORM_IMAGES",
                            "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": "Image reference of the built image",
                            "name": "IMAGE_REF",
                            "type": "string"
                        },
                        {
                            "description": "Reference of SBOM blob digest to enable digest-based verification from provenance",
                            "name": "SBOM_BLOB_URL",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {
                            "limits": {
                                "memory": "4Gi"
                            },
                            "requests": {
                                "cpu": "1",
                                "memory": "4Gi"
                            }
                        },
                        "env": [
                            {
                                "name": "KBC_LOG_LEVEL",
                                "value": "info"
                            },
                            {
                                "name": "STORAGE_DRIVER",
                                "value": "overlay"
                            },
                            {
                                "name": "HERMETIC",
                                "value": "false"
                            },
                            {
                                "name": "SOURCE_CODE_DIR",
                                "value": "source"
                            },
                            {
                                "name": "CONTEXT",
                                "value": "."
                            },
                            {
                                "name": "IMAGE",
                                "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                            },
                            {
                                "name": "TLSVERIFY",
                                "value": "true"
                            },
                            {
                                "name": "IMAGE_EXPIRES_AFTER"
                            },
                            {
                                "name": "YUM_REPOS_D_SRC",
                                "value": "repos.d"
                            },
                            {
                                "name": "YUM_REPOS_D_FETCHED",
                                "value": "fetched.repos.d"
                            },
                            {
                                "name": "YUM_REPOS_D_TARGET",
                                "value": "/etc/yum.repos.d"
                            },
                            {
                                "name": "TARGET_STAGE"
                            },
                            {
                                "name": "ADDITIONAL_SECRET",
                                "value": "does-not-exist"
                            },
                            {
                                "name": "BUILD_ARGS_FILE"
                            },
                            {
                                "name": "ADD_CAPABILITIES"
                            },
                            {
                                "name": "SQUASH",
                                "value": "false"
                            },
                            {
                                "name": "SKIP_UNUSED_STAGES",
                                "value": "true"
                            },
                            {
                                "name": "PRIVILEGED_NESTED",
                                "value": "false"
                            },
                            {
                                "name": "SKIP_SBOM_GENERATION",
                                "value": "false"
                            },
                            {
                                "name": "SBOM_TYPE",
                                "value": "spdx"
                            },
                            {
                                "name": "SBOM_SYFT_SELECT_CATALOGERS"
                            },
                            {
                                "name": "SBOM_SOURCE_SCAN_ENABLED",
                                "value": "true"
                            },
                            {
                                "name": "ANNOTATIONS_FILE"
                            },
                            {
                                "name": "WORKINGDIR_MOUNT"
                            },
                            {
                                "name": "INHERIT_BASE_IMAGE_LABELS",
                                "value": "true"
                            },
                            {
                                "name": "BUILD_TIMESTAMP"
                            },
                            {
                                "name": "CONTEXTUALIZE_SBOM",
                                "value": "true"
                            },
                            {
                                "name": "SBOM_SKIP_VALIDATION",
                                "value": "true"
                            },
                            {
                                "name": "SKIP_INJECTIONS",
                                "value": "false"
                            },
                            {
                                "name": "ALLOW_CROSS_PLATFORM_IMAGES",
                                "value": "false"
                            }
                        ],
                        "imagePullPolicy": "IfNotPresent",
                        "volumeMounts": [
                            {
                                "mountPath": "/shared",
                                "name": "shared"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "--build-args",
                                "--envs",
                                "--labels",
                                "--annotations"
                            ],
                            "computeResources": {
                                "limits": {
                                    "cpu": "4600m",
                                    "memory": "8Gi"
                                },
                                "requests": {
                                    "cpu": "4600m",
                                    "memory": "8Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "HOME",
                                    "value": "/root"
                                },
                                {
                                    "name": "COMMIT_SHA",
                                    "value": "1170f583db17b9db20e993f89d6907dab9acc06f"
                                },
                                {
                                    "name": "SOURCE_URL",
                                    "value": "https://github.com/conforma/golden-container.git"
                                },
                                {
                                    "name": "DOCKERFILE",
                                    "value": "Containerfile"
                                },
                                {
                                    "name": "BUILDAH_HTTP_PROXY"
                                },
                                {
                                    "name": "BUILDAH_NO_PROXY"
                                },
                                {
                                    "name": "ICM_KEEP_COMPAT_LOCATION",
                                    "value": "true"
                                },
                                {
                                    "name": "BUILDAH_OMIT_HISTORY",
                                    "value": "false"
                                },
                                {
                                    "name": "BUILDAH_SOURCE_DATE_EPOCH"
                                },
                                {
                                    "name": "BUILDAH_REWRITE_TIMESTAMP",
                                    "value": "false"
                                }
                            ],
                            "image": "quay.io/konflux-ci/konflux-build-cli:latest@sha256:eaf4bcc55d4753eb0776b9bf61257edb5661b1a574268ef41e8bccb348112dad",
                            "name": "build",
                            "script": "#!/bin/bash\nset -euo pipefail\n\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nproxy_ca_bundle=/mnt/proxy-ca-bundle/ca-bundle.crt\nupdate_ca_trust=false\n\nif [ -f \"$ca_bundle\" ]; then\n  echo \"[$(date --utc -Ins)] Using mounted CA bundle: $ca_bundle\"\n  cp -vf $ca_bundle /etc/pki/ca-trust/source/anchors/ca-bundle.crt\n  update_ca_trust=true\nfi\n\nif [ -f \"$proxy_ca_bundle\" ] \u0026\u0026 [ -n \"${BUILDAH_HTTP_PROXY}\" ]; then\n  echo \"[$(date --utc -Ins)] Using mounted proxy CA bundle: $proxy_ca_bundle\"\n  cp -vf $proxy_ca_bundle /etc/pki/ca-trust/source/anchors/proxy-ca-bundle.crt\n  update_ca_trust=true\nfi\n\nif [ \"$update_ca_trust\" = \"true\" ]; then\n  echo \"[$(date --utc -Ins)] Update CA trust\"\n  update-ca-trust\nfi\n\necho \"[$(date --utc -Ins)] Prepare system (architecture: $(uname -m))\"\n\n# Fixing group permission on /var/lib/containers\nchown root:root /var/lib/containers\n\nsed -i 's/^\\s*short-name-mode\\s*=\\s*.*/short-name-mode = \"disabled\"/' /etc/containers/registries.conf\n\n# Delete policy settings for Red Hat registries to disable signature verification.\n# TODO: don't do this?\ncontainer_policy=$(\n  jq '.transports |= (\n        del(.docker.[\"registry.access.redhat.com\"]) |\n        del(.docker.[\"registry.redhat.io\"]) |\n        if (.docker == {}) then del(.docker) else . end\n      )' /etc/containers/policy.json\n)\necho \"Effective container policy:\"\nprintf '%s\\n' \"$container_policy\" | tee /etc/containers/policy.json\n\n# Setting new namespace to run buildah - 2^32-2\necho 'root:1:4294967294' | tee -a /etc/subuid \u003e\u003e /etc/subgid\n\necho \"[$(date --utc -Ins)] Run the build\"\n\nif [ -e \"$SOURCE_CODE_DIR/$CONTEXT/$DOCKERFILE\" ]; then\n  dockerfile_path=\"$(pwd)/$SOURCE_CODE_DIR/$CONTEXT/$DOCKERFILE\"\nelif [ -e \"$SOURCE_CODE_DIR/$DOCKERFILE\" ]; then\n  dockerfile_path=\"$(pwd)/$SOURCE_CODE_DIR/$DOCKERFILE\"\nelse\n  echo \"Cannot find Dockerfile $DOCKERFILE\"\n  exit 1\nfi\n\nif [ -n \"${ANNOTATIONS_FILE}\" ] \u0026\u0026 [ -f \"${SOURCE_CODE_DIR}/${ANNOTATIONS_FILE}\" ]; then\n  ANNOTATIONS_FILE=$(realpath \"${SOURCE_CODE_DIR}/${ANNOTATIONS_FILE}\")\nfi\n\nif [ -n \"${BUILD_ARGS_FILE}\" ]; then\n  BUILD_ARGS_FILE=$(realpath \"${SOURCE_CODE_DIR}/${BUILD_ARGS_FILE}\")\nfi\n\n# Necessary for newer version of buildah if the host system does not contain up to date version of container-selinux\n# TODO remove the option once all hosts were updated\nsecurity_args=(--security-opts unmask=/proc/interrupts)\n\nif [ \"${PRIVILEGED_NESTED}\" == \"true\" ]; then\n  security_args+=(--security-opts label=disable)\n  security_args+=(--cap-add all)\n  security_args+=(--devices /dev/fuse)\nfi\nif [ -n \"${ADD_CAPABILITIES}\" ]; then\n  security_args+=(--cap-add \"${ADD_CAPABILITIES}\")\nfi\n\nif [ -f \"/workspace/source/cachi2/cachi2.env\" ]; then\n  prefetch_dir=\"/workspace/source/cachi2\"\n  # KBC defaults to ${prefetch_dir}/copy-*\n  # Copy to a sibling dir instead in case we don't have write permissions to the prefetch_dir.\n  # It's still on the same filesystem, so copying via reflinks should be possible.\n  prefetch_dir_copy=\"/workspace/source/prefetch-copy\"\nelse\n  prefetch_dir=\"\"\n  prefetch_dir_copy=\"\"\nfi\n\nyum_repos_d_sources=()\nif [ -d \"${YUM_REPOS_D_FETCHED}\" ]; then\n  yum_repos_d_sources+=(\"${YUM_REPOS_D_FETCHED}\")\nfi\nif [ -d \"${SOURCE_CODE_DIR}/${YUM_REPOS_D_SRC}\" ]; then\n  yum_repos_d_sources+=(\"${SOURCE_CODE_DIR}/${YUM_REPOS_D_SRC}\")\nfi\n\n# 0. if hermetic=true, skip all subscription related stuff\n# 1. do not enable activation key and entitlement at same time. If both are provided, prefer activation key.\n# 2. Activation-keys will be used when the key 'org' exists in the activation key secret.\n# 3. try to pre-register and mount files to the correct location so that users do no need to modify Dockerfiles.\n# 4. If the Dockerfile contains the string \"subcription-manager register\", add the activation-keys volume\n#    to buildah but don't pre-register for backwards compatibility. Mount an empty directory on\n#    to \"/etc/pki/entitlement\" to prevent certificates from being included\nrhsm_args=()\nif [ \"${HERMETIC}\" != \"true\" ]; then\n  if [ -e /activation-key/org ]; then\n    rhsm_args+=(--rhsm-activation-key=/activation-key/activationkey\n                --rhsm-org=/activation-key/org\n                --rhsm-activation-mount=/activation-key)\n\n    if ! grep -E \"^[^#]*subscription-manager.[^#]*register\" \"$dockerfile_path\"; then\n      # user is not running registration in the Containerfile: pre-register.\n      rhsm_args+=(--rhsm-activation-preregister)\n    fi\n  elif find /entitlement -name \"*.pem\" \u003e /dev/null; then\n    rhsm_args+=(--rhsm-entitlements=/entitlement)\n  fi\nfi\n\n# Prevent ShellCheck from giving a warning because 'image' is defined and 'IMAGE' is not.\ndeclare IMAGE\n\ncmd=(\n    konflux-build-cli image build\n    -f \"$dockerfile_path\" -t \"$IMAGE\" --source \"$SOURCE_CODE_DIR\" --context \"$CONTEXT\"\n    --secret-dirs \"src=/additional-secret,name=$ADDITIONAL_SECRET,optional=true\"\n    --workdir-mount \"$WORKINGDIR_MOUNT\"\n    --target \"$TARGET_STAGE\"\n    --inherit-labels=\"$INHERIT_BASE_IMAGE_LABELS\"\n    --source-date-epoch \"$BUILDAH_SOURCE_DATE_EPOCH\"\n    --rewrite-timestamp=\"$BUILDAH_REWRITE_TIMESTAMP\"\n    --squash=\"$SQUASH\"\n    --omit-history=\"$BUILDAH_OMIT_HISTORY\"\n    --image-source \"$SOURCE_URL\"\n    --image-revision \"$COMMIT_SHA\"\n    --quay-image-expires-after \"$IMAGE_EXPIRES_AFTER\"\n    --build-args-file \"$BUILD_ARGS_FILE\"\n    --annotations-file \"$ANNOTATIONS_FILE\"\n    --legacy-build-timestamp \"$BUILD_TIMESTAMP\"\n    --add-legacy-labels\n    --include-legacy-buildinfo-path=\"$ICM_KEEP_COMPAT_LOCATION\"\n    --skip-injections=\"$SKIP_INJECTIONS\"\n    --skip-unused-stages=\"$SKIP_UNUSED_STAGES\"\n    --hermetic=\"$HERMETIC\"\n    --image-pull-proxy \"$BUILDAH_HTTP_PROXY\"\n    --image-pull-noproxy \"$BUILDAH_NO_PROXY\"\n    --yum-repos-d-sources \"${yum_repos_d_sources[@]}\"\n    --yum-repos-d-target \"$YUM_REPOS_D_TARGET\"\n    --prefetch-dir \"$prefetch_dir\"\n    --prefetch-dir-copy \"$prefetch_dir_copy\"\n    --prefetch-env-mount /cachi2/cachi2.env\n    --prefetch-output-mount /cachi2/output\n    \"${security_args[@]}\"\n    \"${rhsm_args[@]}\"\n    --containerfile-json-output /shared/parsed_dockerfile.json\n    --resolved-base-images-output /shared/base_images_digests\n    --no-cache\n    --ulimits nofile=4096:4096\n    --src-tls-verify=\"$TLSVERIFY\"\n    --dest-tls-verify=\"$TLSVERIFY\"\n    --allow-cross-platform-images=\"$ALLOW_CROSS_PLATFORM_IMAGES\"\n    \"$@\"  # --annotations, --labels, --envs, --build-args\n)\n\necho \"[$(date --utc -Ins)] $(printf '%q ' \"${cmd[@]}\")\"\n\n\"${cmd[@]}\"\n\necho \"[$(date --utc -Ins)] Add metadata\"\n\n# Save the SBOM produced in prefetch so it can be merged into the final SBOM later\nif [ -f \"${prefetch_dir}/output/bom.json\" ]; then\n  echo \"Making copy of sbom-prefetch.json\"\n  cp \"${prefetch_dir}/output/bom.json\" ./sbom-prefetch.json\nfi\n\nimage_name=$(echo \"${IMAGE##*/}\" | tr ':' '-')\nbuildah push \"$IMAGE\" oci:\"/shared/$image_name.oci:$IMAGE\"\necho \"/shared/$image_name.oci\" \u003e /shared/container_path\n\necho \"[$(date --utc -Ins)] End build\"\n",
                            "securityContext": {
                                "capabilities": {
                                    "add": [
                                        "SETFCAP"
                                    ]
                                },
                                "runAsUser": 0
                            },
                            "volumeMounts": [
                                {
                                    "mountPath": "/var/lib/containers",
                                    "name": "varlibcontainers"
                                },
                                {
                                    "mountPath": "/entitlement",
                                    "name": "etc-pki-entitlement"
                                },
                                {
                                    "mountPath": "/activation-key",
                                    "name": "activation-key"
                                },
                                {
                                    "mountPath": "/additional-secret",
                                    "name": "additional-secret"
                                },
                                {
                                    "mountPath": "/mnt/trusted-ca",
                                    "name": "trusted-ca",
                                    "readOnly": true
                                },
                                {
                                    "mountPath": "/mnt/proxy-ca-bundle",
                                    "name": "proxy-ca-bundle",
                                    "readOnly": true
                                }
                            ],
                            "workingDir": "/workspace/source"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "cpu": "600m",
                                    "memory": "4Gi"
                                },
                                "requests": {
                                    "cpu": "600m",
                                    "memory": "4Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "HOME",
                                    "value": "/root"
                                },
                                {
                                    "name": "BUILDAH_FORMAT",
                                    "value": "docker"
                                },
                                {
                                    "name": "TASKRUN_NAME",
                                    "value": "buildah-demo-ugtyfcxpkw-build-container"
                                }
                            ],
                            "image": "quay.io/konflux-ci/konflux-build-cli:latest@sha256:7881de18a51416bb20548a23897225a14f4301c78663531d8c78b7f8af249747",
                            "name": "push",
                            "script": "#!/bin/bash\nset -euo pipefail\n\necho \"[$(date --utc -Ins)] Update CA trust\"\n\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  cp -vf $ca_bundle /etc/pki/ca-trust/source/anchors\n  update-ca-trust\nfi\n\necho \"[$(date --utc -Ins)] Convert image\"\n\n# While we can build images with the desired format, we will simplify any local\n# and remote build differences by just performing any necessary conversions at\n# push time.\npush_format=oci\nif [ \"${BUILDAH_FORMAT}\" == \"docker\" ]; then\n  push_format=docker\nfi\n\necho \"[$(date --utc -Ins)] Push image with unique tag\"\n\nbuildah_retries=3\n\n# Push to a unique tag based on the TaskRun name to avoid race conditions\necho \"Pushing to ${IMAGE%:*}:${TASKRUN_NAME}\"\nif ! retry buildah push \\\n  --format=\"$push_format\" \\\n  --retry \"$buildah_retries\" \\\n  --tls-verify=\"$TLSVERIFY\" \\\n  \"$IMAGE\" \\\n  \"docker://${IMAGE%:*}:${TASKRUN_NAME}\"\nthen\n  echo \"Failed to push image to ${IMAGE%:*}:${TASKRUN_NAME}\"\n  exit 1\nfi\n\necho \"[$(date --utc -Ins)] Push image with git revision\"\n\n# Push to a tag based on the git revision\necho \"Pushing to ${IMAGE}\"\nif ! retry buildah push \\\n  --format=\"$push_format\" \\\n  --retry \"$buildah_retries\" \\\n  --tls-verify=\"$TLSVERIFY\" \\\n  --digestfile \"/workspace/source/image-digest\" \"$IMAGE\" \\\n  \"docker://$IMAGE\"\nthen\n  echo \"Failed to push image to $IMAGE\"\n  exit 1\nfi\n\ntee \"/tekton/results/IMAGE_DIGEST\" \u003c \"/workspace/source\"/image-digest\necho -n \"$IMAGE\" | tee /tekton/results/IMAGE_URL\n{\n  echo -n \"${IMAGE}@\"\n  cat \"/workspace/source/image-digest\"\n} \u003e \"/tekton/results/IMAGE_REF\"\necho\n\n# detect if keyless signing is required\nSIGNING_CONFIG='{}'\nKFLX_CONFIG_PATH='/tmp/konflux_config.json'\nif ! RETRY_STOP_IF_STDERR_MATCHES='configmaps \"cluster-config\" not found' retry kubectl get configmap cluster-config -n konflux-info -o json \u003e\"${KFLX_CONFIG_PATH}\"\nthen\n  echo \"Failed to fetch konflux cluster-config, default values will be used\" \u003e\u00262\nelse\n  SIGNING_CONFIG=\"$(cat ${KFLX_CONFIG_PATH})\"\nfi\n\n# configmap key -\u003e variable name mapping\ndeclare -A SIGNING_KEY_MAP=(\n  [defaultOIDCIssuer]=SIGSTORE_OIDC_ISSUER\n  [rekorInternalUrl]=REKOR_URL\n  [fulcioInternalUrl]=SIGSTORE_FULCIO_URL\n  [tufInternalUrl]=TUF_URL\n)\n\n# fallback keys when internal URL is not available\ndeclare -A SIGNING_FALLBACK_MAP=(\n  [rekorInternalUrl]=rekorExternalUrl\n  [fulcioInternalUrl]=fulcioExternalUrl\n  [tufInternalUrl]=tufExternalUrl\n)\n\nmissing=\"\"\nconfigured=0\nfor key in \"${!SIGNING_KEY_MAP[@]}\"; do\n  val=$(echo \"${SIGNING_CONFIG}\" | jq -r \".data.${key} // empty\")\n  if [ -z \"${val}\" ] \u0026\u0026 [ -n \"${SIGNING_FALLBACK_MAP[$key]+x}\" ]; then\n    fallback_key=\"${SIGNING_FALLBACK_MAP[$key]}\"\n    val=$(echo \"${SIGNING_CONFIG}\" | jq -r \".data.${fallback_key} // empty\")\n    if [ -n \"${val}\" ]; then\n      echo \"Using fallback ${fallback_key} instead of ${key}\"\n    fi\n  fi\n  if [ -z \"${val}\" ]; then\n    missing=\"${missing:+${missing}, }${key}\"\n  else\n    declare \"${SIGNING_KEY_MAP[$key]}=${val}\"\n    configured=$((configured + 1))\n  fi\ndone\n\nif [ \"${configured}\" -eq \"${#SIGNING_KEY_MAP[@]}\" ]; then\n  echo \"Keyless signing is enabled\"\n\n  # Save signing config for upload-sbom step\n  for key in \"${!SIGNING_KEY_MAP[@]}\"; do\n    envvar=\"${SIGNING_KEY_MAP[$key]}\"\n    printf '%s=%q\\n' \"${envvar}\" \"${!envvar}\"\n  done \u003e /shared/signing-config.env\n\n  echo \"Using Rekor URL: ${REKOR_URL}\"\n  echo \"Using Fulcio URL: ${SIGSTORE_FULCIO_URL}\"\n  echo \"Using OIDC issuer: ${SIGSTORE_OIDC_ISSUER}\"\n\n  echo \"Initializing TUF root from ${TUF_URL}\"\n  if ! retry cosign initialize --root \"${TUF_URL}/root.json\" --mirror \"${TUF_URL}\"\n  then\n    echo \"Failed to initialize TUF root\" \u003e\u00262\n    exit 1\n  fi\n\n  # env var consumed by cosign\n  SIGSTORE_ID_TOKEN=\"$(cat /var/run/sigstore/cosign/oidc-token)\"\n  export SIGSTORE_ID_TOKEN\n\n  IMAGE_REF=\"$(cat \"/tekton/results/IMAGE_REF\")\"\n\n  # Pre-select the correct credentials to work around cosign not supporting the containers-auth.json spec\n  mkdir -p /tmp/auth \u0026\u0026 select-oci-auth \"${IMAGE_REF}\" \u003e /tmp/auth/config.json\n  export DOCKER_CONFIG=/tmp/auth\n\n  echo \"[$(date --utc -Ins)] Sign image\"\n  echo \"Signing image ${IMAGE_REF} using keyless signing\"\n  if ! retry cosign sign -y \\\n    --rekor-url=\"${REKOR_URL}\" \\\n    --fulcio-url=\"${SIGSTORE_FULCIO_URL}\" \\\n    --oidc-issuer=\"${SIGSTORE_OIDC_ISSUER}\" \\\n    \"${IMAGE_REF}\"\n  then\n    echo \"Failed to sign image\" \u003e\u00262\n    exit 1\n  fi\nelif [ \"${configured}\" -eq 0 ]; then\n  echo \"Keyless signing is disabled (none of ${missing} are configured in the konflux-info/cluster-config configmap)\"\nelse\n  echo \"ERROR: Incomplete keyless signing configuration in konflux-info/cluster-config configmap. Missing: ${missing}\" \u003e\u00262\n  exit 1\nfi\n\necho \"[$(date --utc -Ins)] End push\"\n",
                            "securityContext": {
                                "capabilities": {
                                    "add": [
                                        "SETFCAP"
                                    ]
                                },
                                "runAsUser": 0
                            },
                            "volumeMounts": [
                                {
                                    "mountPath": "/var/lib/containers",
                                    "name": "varlibcontainers"
                                },
                                {
                                    "mountPath": "/mnt/trusted-ca",
                                    "name": "trusted-ca",
                                    "readOnly": true
                                },
                                {
                                    "mountPath": "/var/run/sigstore/cosign",
                                    "name": "oidc-token",
                                    "readOnly": true
                                }
                            ],
                            "workingDir": "/workspace/source"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "cpu": "1100m",
                                    "memory": "4Gi"
                                },
                                "requests": {
                                    "cpu": "1100m",
                                    "memory": "4Gi"
                                }
                            },
                            "image": "quay.io/konflux-ci/task-runner:1.6.0@sha256:1abfe4e50d4e961d0fd9790202565f93ee650fe8dfc50932c94989acba10485f",
                            "name": "sbom-syft-generate",
                            "script": "#!/bin/bash\nset -euo pipefail\necho \"[$(date --utc -Ins)] Generate SBOM\"\n\nif [ \"${SKIP_SBOM_GENERATION}\" = \"true\" ]; then\n  echo \"Skipping SBOM generation\"\n  exit 0\nfi\n\ncase $SBOM_TYPE in\n  cyclonedx)\n    syft_sbom_type=cyclonedx-json@1.5 ;;\n  spdx)\n    syft_sbom_type=spdx-json@2.3 ;;\n  *)\n    echo \"Invalid SBOM type: $SBOM_TYPE. Valid: cyclonedx, spdx\" \u003e\u00262\n    exit 1\n    ;;\nesac\n\nOCI_DIR=\"$(cat /shared/container_path)\"\n\nsyft_oci_args=(\n  oci-dir:\"${OCI_DIR}\"\n  --output \"$syft_sbom_type=/workspace/source/sbom-image.json\"\n)\nsyft_source_args=(\n  dir:\"/workspace/source/$SOURCE_CODE_DIR/$CONTEXT\"\n  --output \"$syft_sbom_type=/workspace/source/sbom-source.json\"\n)\n\nif [ \"${SBOM_SYFT_SELECT_CATALOGERS}\" != \"\" ]; then\n  syft_oci_args+=(--select-catalogers \"${SBOM_SYFT_SELECT_CATALOGERS}\")\n  syft_source_args+=(--select-catalogers \"${SBOM_SYFT_SELECT_CATALOGERS}\")\nfi\n\necho \"Running syft on the image\"\nsyft \"${syft_oci_args[@]}\"\nif [[ \"${HERMETIC}\" == \"false\" \u0026\u0026 \"${SBOM_SOURCE_SCAN_ENABLED}\" == \"true\" ]]; then\n  echo \"Running syft on the source code\"\n  syft \"${syft_source_args[@]}\"\nelse\n  echo \"Skipping syft on source code.\"\nfi\n\necho \"[$(date --utc -Ins)] End sbom-syft-generate\"\n",
                            "securityContext": {
                                "runAsUser": 0
                            },
                            "volumeMounts": [
                                {
                                    "mountPath": "/var/lib/containers",
                                    "name": "varlibcontainers"
                                },
                                {
                                    "mountPath": "/shared",
                                    "name": "shared"
                                },
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ],
                            "workingDir": "/workspace/source/source"
                        },
                        {
                            "args": [
                                "--additional-base-images"
                            ],
                            "computeResources": {
                                "limits": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/mobster:1.2.1-1782136886@sha256:1374bc35c71781987cce00ef5efe2be42923f83def19b60a570e947189b90d15",
                            "name": "prepare-sboms",
                            "script": "#!/bin/bash\nset -euo pipefail\n\necho \"[$(date --utc -Ins)] Prepare SBOM\"\n\nif [ \"${SKIP_SBOM_GENERATION}\" = \"true\" ]; then\n  echo \"Skipping SBOM generation\"\n  exit 0\nfi\n\n# Convert Tekton array params into Mobster params\nADDITIONAL_BASE_IMAGES=()\nwhile [[ $# -gt 0 ]]; do\n  case $1 in\n    --additional-base-images)\n      shift\n      while [[ $# -gt 0 \u0026\u0026 $1 != --* ]]; do ADDITIONAL_BASE_IMAGES+=(\"$1\"); shift; done\n      ;;\n    *)\n      echo \"unexpected argument: $1\" \u003e\u00262\n      exit 2\n      ;;\n  esac\ndone\n\nIMAGE_URL=\"$(cat \"/tekton/results/IMAGE_URL\")\"\nIMAGE_DIGEST=\"$(cat \"/tekton/results/IMAGE_DIGEST\")\"\n\necho \"[$(date --utc -Ins)] Generate SBOM with mobster\"\n\nmobster_args=(\n  generate\n  --output sbom.json\n)\n\n# Validation is a flag for `generate`, not `oci-image`, so we need to\n# handle it before the oci-image arguments\nif [ \"${SBOM_SKIP_VALIDATION}\" == \"true\" ]; then\n  echo \"Skipping SBOM validation\"\n  mobster_args+=(--skip-validation)\nfi\n\nmobster_args+=(\n  oci-image\n  --from-syft \"/workspace/source/sbom-image.json\"\n  --image-pullspec \"$IMAGE_URL\"\n  --image-digest \"$IMAGE_DIGEST\"\n  --parsed-dockerfile-path \"/shared/parsed_dockerfile.json\"\n  --base-image-digest-file \"/shared/base_images_digests\"\n)\n\nif [ -f \"/workspace/source/sbom-source.json\" ]; then\n  mobster_args+=(--from-syft \"/workspace/source/sbom-source.json\")\nfi\n\nif [ -f \"/workspace/source/sbom-prefetch.json\" ]; then\n  mobster_args+=(--from-hermeto \"/workspace/source/sbom-prefetch.json\")\nfi\n\nif [ -n \"${TARGET_STAGE}\" ]; then\n  mobster_args+=(--dockerfile-target \"${TARGET_STAGE}\")\nfi\n\nfor ADDITIONAL_BASE_IMAGE in \"${ADDITIONAL_BASE_IMAGES[@]}\"; do\n  mobster_args+=(--additional-base-image \"$ADDITIONAL_BASE_IMAGE\")\ndone\n\nif [ \"${CONTEXTUALIZE_SBOM}\" == \"true\" ] \u0026\u0026 [ \"${HERMETIC}\" == \"false\" ]; then\n  mobster_args+=(--contextualize)\nfi\n\nif [ -f \"/shared/prefetch-arch\" ]; then\n  mobster_args+=(--arch \"$(cat /shared/prefetch-arch)\")\nfi\n\nmobster \"${mobster_args[@]}\"\n\necho \"[$(date --utc -Ins)] End prepare-sboms\"\n",
                            "securityContext": {
                                "runAsUser": 0
                            },
                            "workingDir": "/workspace/source"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/task-runner:1.6.0@sha256:1abfe4e50d4e961d0fd9790202565f93ee650fe8dfc50932c94989acba10485f",
                            "name": "upload-sbom",
                            "script": "#!/bin/bash\nset -euo pipefail\n\necho \"[$(date --utc -Ins)] Upload SBOM\"\n\nif [ \"${SKIP_SBOM_GENERATION}\" = \"true\" ]; then\n  echo \"Skipping SBOM generation\"\n  exit 0\nfi\n\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  cp -vf $ca_bundle /etc/pki/ca-trust/source/anchors\n  update-ca-trust\nfi\n\n# Pre-select the correct credentials to work around cosign not supporting the containers-auth.json spec\nmkdir -p /tmp/auth \u0026\u0026 select-oci-auth \"$(cat \"/tekton/results/IMAGE_REF\")\" \u003e /tmp/auth/config.json\nexport DOCKER_CONFIG=/tmp/auth\necho \"Pushing sbom to registry\"\nif ! retry cosign attach sbom --sbom sbom.json --type \"$SBOM_TYPE\" \"$(cat \"/tekton/results/IMAGE_REF\")\"\nthen\n    echo \"Failed to push sbom to registry\"\n    exit 1\nfi\n\n# Remove tag from IMAGE while allowing registry to contain a port number.\nsbom_repo=\"${IMAGE%:*}\"\nsbom_digest=\"$(sha256sum sbom.json | cut -d' ' -f1)\"\n# The SBOM_BLOB_URL is created by `cosign attach sbom`.\necho -n \"${sbom_repo}@sha256:${sbom_digest}\" | tee \"/tekton/results/SBOM_BLOB_URL\"\n\nif [ -f \"/shared/signing-config.env\" ]; then\n  # shellcheck source=/dev/null\n  source /shared/signing-config.env\n\n  echo \"Initializing TUF root from ${TUF_URL}\"\n  if ! retry cosign initialize --root \"${TUF_URL}/root.json\" --mirror \"${TUF_URL}\"\n  then\n    echo \"Failed to initialize TUF root\" \u003e\u00262\n    exit 1\n  fi\n\n  # env var consumed by cosign\n  SIGSTORE_ID_TOKEN=\"$(cat /var/run/sigstore/cosign/oidc-token)\"\n  export SIGSTORE_ID_TOKEN\n\n  IMAGE_REF=\"$(cat \"/tekton/results/IMAGE_REF\")\"\n\n  ATT_SBOM_TYPE=\"${SBOM_TYPE}\"\n  if [ \"${ATT_SBOM_TYPE}\" = \"spdx\" ]; then\n    # for format cossistency with cyclonedx format, we want to use spdxjson instad of spdx\n    # spdx export data as rawstring, we want structured json as cyclonedx\n    ATT_SBOM_TYPE=\"spdxjson\"\n  fi\n\n  echo \"[$(date --utc -Ins)] Sign SBOM\"\n  echo \"Signing and attaching SBOM to ${IMAGE_REF} using keyless signing\"\n  if ! retry cosign attest -y --type \"${ATT_SBOM_TYPE}\" --predicate sbom.json \\\n    --rekor-url=\"${REKOR_URL}\" \\\n    --fulcio-url=\"${SIGSTORE_FULCIO_URL}\" \\\n    --oidc-issuer=\"${SIGSTORE_OIDC_ISSUER}\" \\\n    \"${IMAGE_REF}\"\n  then\n    echo \"Failed to sign SBOM\" \u003e\u00262\n    exit 1\n  fi\nfi\n\necho\necho \"[$(date --utc -Ins)] End upload-sbom\"\n",
                            "securityContext": {
                                "runAsNonRoot": false,
                                "runAsUser": 0
                            },
                            "volumeMounts": [
                                {
                                    "mountPath": "/mnt/trusted-ca",
                                    "name": "trusted-ca",
                                    "readOnly": true
                                },
                                {
                                    "mountPath": "/var/run/sigstore/cosign",
                                    "name": "oidc-token",
                                    "readOnly": true
                                }
                            ],
                            "workingDir": "/workspace/source"
                        }
                    ],
                    "volumes": [
                        {
                            "emptyDir": {},
                            "name": "varlibcontainers"
                        },
                        {
                            "emptyDir": {},
                            "name": "shared"
                        },
                        {
                            "name": "etc-pki-entitlement",
                            "secret": {
                                "optional": true,
                                "secretName": "etc-pki-entitlement"
                            }
                        },
                        {
                            "name": "activation-key",
                            "secret": {
                                "optional": true,
                                "secretName": "activation-key"
                            }
                        },
                        {
                            "name": "additional-secret",
                            "secret": {
                                "optional": true,
                                "secretName": "does-not-exist"
                            }
                        },
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        },
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "caching-ca-bundle",
                                "optional": true
                            },
                            "name": "proxy-ca-bundle"
                        },
                        {
                            "name": "oidc-token",
                            "projected": {
                                "sources": [
                                    {
                                        "serviceAccountToken": {
                                            "audience": "sigstore",
                                            "expirationSeconds": 600,
                                            "path": "oidc-token"
                                        }
                                    }
                                ]
                            }
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "Workspace containing the source code to build.",
                            "name": "source"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/675f407e-ac04-4eae-9274-17d8291d20e6",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "image-build, konflux",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-b9863a0fd3bca676-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:47:22Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.3",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "build-image-index",
                    "tekton.dev/task": "build-image-index"
                },
                "name": "buildah-demo-ugtyfcxpkw-build-image-index",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "49622",
                "uid": "675f407e-ac04-4eae-9274-17d8291d20e6"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGE",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                    },
                    {
                        "name": "ALWAYS_BUILD_INDEX",
                        "value": "false"
                    },
                    {
                        "name": "IMAGES",
                        "value": [
                            "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                        ]
                    },
                    {
                        "name": "BUILDAH_FORMAT",
                        "value": "docker"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "build-image-index"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-build-image-index:0.3@sha256:0b4251ea0fab38be2b1441bea2788220d4cf2963ffb854a0ed90992fbabbe122"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:48:05Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:48:05Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-build-image-index-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "0b4251ea0fab38be2b1441bea2788220d4cf2963ffb854a0ed90992fbabbe122"
                        },
                        "entryPoint": "build-image-index",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-build-image-index"
                    }
                },
                "results": [
                    {
                        "name": "IMAGES",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    },
                    {
                        "name": "IMAGE_DIGEST",
                        "type": "string",
                        "value": "sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    },
                    {
                        "name": "IMAGE_REF",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    },
                    {
                        "name": "IMAGE_URL",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-b9863a0fd3bca676-01"
                },
                "startTime": "2026-06-29T05:47:22Z",
                "steps": [
                    {
                        "container": "step-build",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:25fa4c4eeec8509c3486d24d3d215fc4c8280b1b0ca9cc8f4f7569f3a9523a25",
                        "name": "build",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://9d02b8451f4707ca65c02b7a782129b61aa23362ce22cae0ac004dad1ffef4d7",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:01Z",
                            "message": "[{\"key\":\"IMAGES\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:47:59Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-create-sbom",
                        "imageID": "quay.io/konflux-ci/mobster@sha256:135eec87fe80d0751a1ea5e8e47b240147b25ee9a41973cae365540d2e2ee473",
                        "name": "create-sbom",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://9ab7d66d3bb630934f1255baeacbfb586a0e9c31683d250d7594c65e7bfcc484",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:02Z",
                            "message": "[{\"key\":\"IMAGES\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:02Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-upload-sbom",
                        "imageID": "quay.io/konflux-ci/task-runner@sha256:1abfe4e50d4e961d0fd9790202565f93ee650fe8dfc50932c94989acba10485f",
                        "name": "upload-sbom",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://ff3e41731bab8546dd90d347f7c73827804d07141741beee5c2f3fc79e8f6eec",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:04Z",
                            "message": "[{\"key\":\"IMAGES\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_DIGEST\",\"value\":\"sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"type\":1},{\"key\":\"IMAGE_URL\",\"value\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:02Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "This takes existing Image Manifests and combines them in an Image Index.",
                    "params": [
                        {
                            "description": "The target image and tag where the image will be pushed to.",
                            "name": "IMAGE",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Verify the TLS on the registry endpoint (for push/pull to a non-TLS registry)",
                            "name": "TLSVERIFY",
                            "type": "string"
                        },
                        {
                            "description": "List of Image Manifests to be referenced by the Image Index",
                            "name": "IMAGES",
                            "type": "array"
                        },
                        {
                            "default": "true",
                            "description": "Build an image index even if IMAGES is of length 1. Default true. If the image index generation is skipped, the task will forward values for params.IMAGES[0] to results.IMAGE_*. In order to properly set all results, use the repository:tag@sha256:digest format for the IMAGES parameter.",
                            "name": "ALWAYS_BUILD_INDEX",
                            "type": "string"
                        },
                        {
                            "default": "vfs",
                            "description": "Storage driver to configure for buildah",
                            "name": "STORAGE_DRIVER",
                            "type": "string"
                        },
                        {
                            "default": "oci",
                            "description": "The format for the resulting image's mediaType. Valid values are oci (default) or docker.",
                            "name": "BUILDAH_FORMAT",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Flag to enable or disable SBOM validation before save. Validation is optional - use this if you are experiencing performance issues.",
                            "name": "SBOM_SKIP_VALIDATION",
                            "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"
                        }
                    ],
                    "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": "List of all referenced image manifests",
                            "name": "IMAGES",
                            "type": "string"
                        },
                        {
                            "description": "Image reference of the built image containing both the repository and the digest",
                            "name": "IMAGE_REF",
                            "type": "string"
                        },
                        {
                            "description": "Reference of SBOM blob digest to enable digest-based verification from provenance",
                            "name": "SBOM_BLOB_URL",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "BUILDAH_FORMAT",
                                "value": "docker"
                            },
                            {
                                "name": "IMAGE",
                                "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                            },
                            {
                                "name": "TLSVERIFY",
                                "value": "true"
                            },
                            {
                                "name": "ALWAYS_BUILD_INDEX",
                                "value": "false"
                            },
                            {
                                "name": "STORAGE_DRIVER",
                                "value": "vfs"
                            }
                        ],
                        "imagePullPolicy": "IfNotPresent",
                        "volumeMounts": [
                            {
                                "mountPath": "/index-build-data",
                                "name": "shared-dir"
                            },
                            {
                                "mountPath": "/mnt/trusted-ca",
                                "name": "trusted-ca",
                                "readOnly": true
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "4Gi"
                                },
                                "requests": {
                                    "cpu": "250m",
                                    "memory": "4Gi"
                                }
                            },
                            "image": "quay.io/konflux-ci/konflux-build-cli:latest@sha256:b296232c9b0d478c0bd1f48911ead97cd786eebdc737b877797564567fda8eae",
                            "name": "build",
                            "script": "#!/bin/bash\n# Fixing group permission on /var/lib/containers\nset -eu\nset -o pipefail\nchown root:root /var/lib/containers\n\nsed -i 's/^\\s*short-name-mode\\s*=\\s*.*/short-name-mode = \"disabled\"/' /etc/containers/registries.conf\n\necho \"[$(date --utc -Ins)] Update CA trust\"\n\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  cp -vf $ca_bundle /etc/pki/ca-trust/source/anchors\n  update-ca-trust\nfi\n\nMANIFEST_DATA_FILE=\"/index-build-data/manifest_data.json\"\n\necho \"Running konflux-build-cli\"\nif ! konflux-build-cli image build-image-index \\\n  --image \"$IMAGE\" \\\n  --tls-verify=\"$TLSVERIFY\" \\\n  --buildah-format \"$BUILDAH_FORMAT\" \\\n  --always-build-index=\"$ALWAYS_BUILD_INDEX\" \\\n  --additional-tags \"buildah-demo-ugtyfcxpkw-build-image-index\" \\\n  --output-manifest-path \"$MANIFEST_DATA_FILE\" \\\n  --result-path-image-digest \"/tekton/results/IMAGE_DIGEST\" \\\n  --result-path-image-url \"/tekton/results/IMAGE_URL\" \\\n  --result-path-image-ref \"/tekton/results/IMAGE_REF\" \\\n  --result-path-images \"/tekton/results/IMAGES\" \\\n  --images \"$@\"; then\n  echo \"Failed to build image index\"\n  exit 1\nfi\n",
                            "securityContext": {
                                "capabilities": {
                                    "add": [
                                        "SETFCAP"
                                    ]
                                },
                                "runAsUser": 0
                            }
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "512Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "512Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/mobster:1.2.1-1782136886@sha256:1374bc35c71781987cce00ef5efe2be42923f83def19b60a570e947189b90d15",
                            "name": "create-sbom",
                            "script": "#!/bin/bash\nset -e\n\nMANIFEST_DATA_FILE=\"/index-build-data/manifest_data.json\"\nif [ ! -f \"$MANIFEST_DATA_FILE\" ]; then\n  echo \"The manifest_data.json file does not exist. Skipping the SBOM creation...\"\n  exit 0\nfi\n\nIMAGE_URL=\"$(cat \"/tekton/results/IMAGE_URL\")\"\nIMAGE_DIGEST=\"$(cat \"/tekton/results/IMAGE_DIGEST\")\"\necho \"Creating SBOM result file...\"\nmobster_args=(generate --output /index-build-data/index.spdx.json)\n\nif [ \"${SBOM_SKIP_VALIDATION}\" == \"true\" ]; then\n  echo \"Skipping SBOM validation\"\n  mobster_args+=(--skip-validation)\nfi\n\nmobster_args+=(\n  oci-index\n  --index-image-pullspec \"$IMAGE_URL\"\n  --index-image-digest \"$IMAGE_DIGEST\"\n  --index-manifest-path \"$MANIFEST_DATA_FILE\"\n)\nmobster \"${mobster_args[@]}\"\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "512Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "512Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/task-runner:1.6.0@sha256:1abfe4e50d4e961d0fd9790202565f93ee650fe8dfc50932c94989acba10485f",
                            "name": "upload-sbom",
                            "script": "#!/bin/bash\nset -e\n\necho \"[$(date --utc -Ins)] Update CA trust\"\n\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  cp -vf $ca_bundle /etc/pki/ca-trust/source/anchors\n  update-ca-trust\nfi\n\nSBOM_RESULT_FILE=\"/index-build-data/index.spdx.json\"\nif [ ! -f \"$SBOM_RESULT_FILE\" ]; then\n  echo \"The index.spdx.json file does not exists. Skipping the SBOM upload...\"\n  exit 0\nfi\n\n# Pre-select the correct credentials to work around cosign not supporting the containers-auth.json spec\nmkdir -p /tmp/auth \u0026\u0026 select-oci-auth \"$(cat \"/tekton/results/IMAGE_REF\")\" \u003e /tmp/auth/config.json\nexport DOCKER_CONFIG=/tmp/auth\n\necho \"Pushing sbom to registry\"\nif ! retry cosign attach sbom --sbom \"$SBOM_RESULT_FILE\" --type spdx \"$(cat \"/tekton/results/IMAGE_REF\")\"\nthen\n    echo \"Failed to push sbom to registry\"\n    exit 1\nfi\n\n# Remove tag from IMAGE while allowing registry to contain a port number.\nsbom_repo=\"${IMAGE%:*}\"\nsbom_digest=\"$(sha256sum \"$SBOM_RESULT_FILE\" | cut -d' ' -f1)\"\n# The SBOM_BLOB_URL is created by `cosign attach sbom`.\necho -n \"${sbom_repo}@sha256:${sbom_digest}\" | tee \"/tekton/results/SBOM_BLOB_URL\"\n",
                            "securityContext": {
                                "runAsNonRoot": false,
                                "runAsUser": 0
                            }
                        }
                    ],
                    "volumes": [
                        {
                            "emptyDir": {},
                            "name": "shared-dir"
                        },
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/affinity-assistant": "affinity-assistant-3a9283a18f",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/d02152da-5d10-4693-bc3a-7fe0718a8ebe",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "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",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-e23a9dbd83745ebf-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:44:49Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.2",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "clone-repository",
                    "tekton.dev/task": "git-clone"
                },
                "name": "buildah-demo-ugtyfcxpkw-clone-repository",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "46783",
                "uid": "d02152da-5d10-4693-bc3a-7fe0718a8ebe"
            },
            "spec": {
                "params": [
                    {
                        "name": "url",
                        "value": "https://github.com/conforma/golden-container.git"
                    },
                    {
                        "name": "revision",
                        "value": ""
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "git-clone"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-git-clone:0.2@sha256:732a8249f3aa01e8876949eb26c555b8e65436c60969a1459e587aca1de4e544"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s",
                "workspaces": [
                    {
                        "name": "output",
                        "persistentVolumeClaim": {
                            "claimName": "app-studio-default-workspace"
                        }
                    }
                ]
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:45:13Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:45:13Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-clone-repository-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "732a8249f3aa01e8876949eb26c555b8e65436c60969a1459e587aca1de4e544"
                        },
                        "entryPoint": "git-clone",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-git-clone"
                    }
                },
                "results": [
                    {
                        "name": "CHAINS-GIT_COMMIT",
                        "type": "string",
                        "value": "1170f583db17b9db20e993f89d6907dab9acc06f"
                    },
                    {
                        "name": "CHAINS-GIT_URL",
                        "type": "string",
                        "value": "https://github.com/conforma/golden-container.git"
                    },
                    {
                        "name": "commit",
                        "type": "string",
                        "value": "1170f583db17b9db20e993f89d6907dab9acc06f"
                    },
                    {
                        "name": "commit-timestamp",
                        "type": "string",
                        "value": "1743528558"
                    },
                    {
                        "name": "short-commit",
                        "type": "string",
                        "value": "1170f58"
                    },
                    {
                        "name": "url",
                        "type": "string",
                        "value": "https://github.com/conforma/golden-container.git"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-e23a9dbd83745ebf-01"
                },
                "startTime": "2026-06-29T05:44:49Z",
                "steps": [
                    {
                        "container": "step-clone",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:2208ea9c0569a608f4827b92e2c29e7bf72d1c0224d9ca6439b24fe38fd1adcd",
                        "name": "clone",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://75fcc1ea750b4a8098e35ad2bfdde12e976b7ddde0a5603fed9aefbd9ef8281a",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:45:12Z",
                            "message": "[{\"key\":\"CHAINS-GIT_COMMIT\",\"value\":\"1170f583db17b9db20e993f89d6907dab9acc06f\",\"type\":1},{\"key\":\"CHAINS-GIT_URL\",\"value\":\"https://github.com/conforma/golden-container.git\",\"type\":1},{\"key\":\"commit\",\"value\":\"1170f583db17b9db20e993f89d6907dab9acc06f\",\"type\":1},{\"key\":\"commit-timestamp\",\"value\":\"1743528558\",\"type\":1},{\"key\":\"short-commit\",\"value\":\"1170f58\",\"type\":1},{\"key\":\"url\",\"value\":\"https://github.com/conforma/golden-container.git\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:45:10Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "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.",
                    "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. Empty string fetches all submodules. Parameter \"submodules\" must be set to \"true\" to make this parameter applicable.",
                            "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": "Minimum length of the short commit SHA. Git may return a longer prefix if needed for uniqueness.",
                            "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": "info",
                            "description": "Log level for the git-clone command.",
                            "name": "logLevel",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Opt out of proxying HTTP/HTTPS requests.",
                            "name": "noProxy",
                            "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": "Abbreviated commit SHA for the checkout. At least params.shortCommitLength characters; longer if Git requires more for uniqueness.",
                            "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"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "350m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "KBC_GIT_CLONE_URL",
                                    "value": "https://github.com/conforma/golden-container.git"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_REVISION"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_REFSPEC"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SUBMODULES",
                                    "value": "true"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SUBMODULE_PATHS"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_DEPTH",
                                    "value": "1"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SHORT_COMMIT_LENGTH",
                                    "value": "7"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SSL_VERIFY",
                                    "value": "true"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SUBDIRECTORY",
                                    "value": "source"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SPARSE_CHECKOUT_DIRECTORIES"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_DELETE_EXISTING",
                                    "value": "true"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_ENABLE_SYMLINK_CHECK",
                                    "value": "true"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_FETCH_TAGS",
                                    "value": "false"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_MERGE_TARGET_BRANCH",
                                    "value": "false"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_TARGET_BRANCH",
                                    "value": "main"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_MERGE_SOURCE_REPO_URL"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_MERGE_SOURCE_DEPTH"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_OUTPUT_DIR",
                                    "value": "/workspace/output"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_BASIC_AUTH_DIRECTORY"
                                },
                                {
                                    "name": "KBC_GIT_CLONE_SSH_DIRECTORY"
                                },
                                {
                                    "name": "PARAM_HTTP_PROXY"
                                },
                                {
                                    "name": "PARAM_HTTPS_PROXY"
                                },
                                {
                                    "name": "PARAM_NO_PROXY"
                                },
                                {
                                    "name": "KBC_LOG_LEVEL",
                                    "value": "info"
                                }
                            ],
                            "image": "quay.io/konflux-ci/konflux-build-cli:latest@sha256:dd49bd35038c1cba174e6c166291e5df3d0d5f9be18ed3b2fb852fc6ce3181ed",
                            "name": "clone",
                            "script": "#!/usr/bin/env bash\nset -euo pipefail\n\nca_bundle=/mnt/trusted-ca/ca-bundle.crt\nif [ -f \"$ca_bundle\" ]; then\n  echo \"INFO: Using mounted CA bundle: $ca_bundle\"\n  cp -vf \"$ca_bundle\" /etc/pki/ca-trust/source/anchors\n  update-ca-trust\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\nRESULT_FILE=\"$(mktemp)\"\nkonflux-build-cli git-clone \u003e \"${RESULT_FILE}\"\n\nprintf \"%s\" \"$(jq -r '.commit' \"${RESULT_FILE}\")\" \u003e \"/tekton/results/commit\"\nprintf \"%s\" \"$(jq -r '.shortCommit' \"${RESULT_FILE}\")\" \u003e \"/tekton/results/short-commit\"\nprintf \"%s\" \"$(jq -r '.url' \"${RESULT_FILE}\")\" \u003e \"/tekton/results/url\"\nprintf \"%s\" \"$(jq -r '.commitTimestamp' \"${RESULT_FILE}\")\" \u003e \"/tekton/results/commit-timestamp\"\nprintf \"%s\" \"$(jq -r '.\"CHAINS-GIT_URL\"' \"${RESULT_FILE}\")\" \u003e \"/tekton/results/CHAINS-GIT_URL\"\nprintf \"%s\" \"$(jq -r '.\"CHAINS-GIT_COMMIT\"' \"${RESULT_FILE}\")\" \u003e \"/tekton/results/CHAINS-GIT_COMMIT\"\n\nMERGED_SHA=$(jq -r '.mergedSha // empty' \"${RESULT_FILE}\")\nif [ -n \"${MERGED_SHA}\" ]; then\n  printf \"%s\" \"${MERGED_SHA}\" \u003e \"/tekton/results/merged_sha\"\nfi\n",
                            "securityContext": {
                                "runAsUser": 0
                            },
                            "volumeMounts": [
                                {
                                    "mountPath": "/mnt/trusted-ca",
                                    "name": "trusted-ca",
                                    "readOnly": true
                                }
                            ]
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "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
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/af155d60-aaa6-4844-8ef7-60daf1f56956",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "konflux",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-6ce6031ec6a49181-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:44:32Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.4.2",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "init",
                    "tekton.dev/task": "init"
                },
                "name": "buildah-demo-ugtyfcxpkw-init",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "46355",
                "uid": "af155d60-aaa6-4844-8ef7-60daf1f56956"
            },
            "spec": {
                "params": [
                    {
                        "name": "enable-cache-proxy",
                        "value": "false"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "init"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-init:0.4@sha256:5a423246792ac501ea279229b42ee57da9927da441c04b5c9ff86817b0856b08"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:44:48Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:44:48Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-init-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "5a423246792ac501ea279229b42ee57da9927da441c04b5c9ff86817b0856b08"
                        },
                        "entryPoint": "init",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-init"
                    }
                },
                "results": [
                    {
                        "name": "http-proxy",
                        "type": "string",
                        "value": ""
                    },
                    {
                        "name": "no-proxy",
                        "type": "string",
                        "value": ""
                    }
                ],
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-6ce6031ec6a49181-01"
                },
                "startTime": "2026-06-29T05:44:32Z",
                "steps": [
                    {
                        "container": "step-init",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:25fa4c4eeec8509c3486d24d3d215fc4c8280b1b0ca9cc8f4f7569f3a9523a25",
                        "name": "init",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://574eea03f95b6c07b75dbace7e402b31027a3df880e8f695ebdba50f844149bf",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:44:47Z",
                            "message": "[{\"key\":\"http-proxy\",\"value\":\"\",\"type\":1},{\"key\":\"no-proxy\",\"value\":\"\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:44:47Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Initialize Pipeline Task, enables configuration for cache-proxy if required during the PipelineRun.",
                    "params": [
                        {
                            "default": "false",
                            "description": "Enable cache proxy configuration",
                            "name": "enable-cache-proxy",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "HTTP proxy URL for cache proxy (when enable-cache-proxy is true)",
                            "name": "http-proxy",
                            "type": "string"
                        },
                        {
                            "description": "NO_PROXY value for cache proxy (when enable-cache-proxy is true)",
                            "name": "no-proxy",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "args": [
                                "--enable",
                                "false"
                            ],
                            "command": [
                                "konflux-build-cli",
                                "config",
                                "cache-proxy"
                            ],
                            "computeResources": {
                                "limits": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "KBC_LOG_LEVEL",
                                    "value": "info"
                                },
                                {
                                    "name": "DEFAULT_HTTP_PROXY",
                                    "value": "squid.caching.svc.cluster.local:3128"
                                },
                                {
                                    "name": "DEFAULT_NO_PROXY",
                                    "value": "brew.registry.redhat.io,docker.io,gcr.io,ghcr.io,images.paas.redhat.com,mirror.gcr.io,nvcr.io,quay.io,registry-proxy.engineering.redhat.com,registry.access.redhat.com,registry.ci.openshift.org,registry.fedoraproject.org,registry.redhat.io,registry.stage.redhat.io,vault.habana.ai"
                                },
                                {
                                    "name": "HTTP_PROXY_RESULTS_PATH",
                                    "value": "/tekton/results/http-proxy"
                                },
                                {
                                    "name": "NO_PROXY_RESULTS_PATH",
                                    "value": "/tekton/results/no-proxy"
                                }
                            ],
                            "image": "quay.io/konflux-ci/konflux-build-cli@sha256:b296232c9b0d478c0bd1f48911ead97cd786eebdc737b877797564567fda8eae",
                            "name": "init"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/affinity-assistant": "affinity-assistant-3a9283a18f",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/3a27a3c5-9c01-48ec-ade5-fa54f3bc3aca",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "image-build, konflux",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-67c816e568fac61d-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:45:14Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.3.2",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "prefetch-dependencies",
                    "tekton.dev/task": "prefetch-dependencies"
                },
                "name": "buildah-demo-ugtyfcxpkw-prefetch-dependencies",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "47111",
                "uid": "3a27a3c5-9c01-48ec-ade5-fa54f3bc3aca"
            },
            "spec": {
                "params": [
                    {
                        "name": "input",
                        "value": ""
                    },
                    {
                        "name": "enable-package-registry-proxy",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "prefetch-dependencies"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies:0.3@sha256:d0b4afa12ab44316eb7d34c837981068dcbbc06343ecabf8f38657375abe29b3"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s",
                "workspaces": [
                    {
                        "name": "source",
                        "persistentVolumeClaim": {
                            "claimName": "app-studio-default-workspace"
                        }
                    }
                ]
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:45:31Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:45:31Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-prefetch-dependencies-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "d0b4afa12ab44316eb7d34c837981068dcbbc06343ecabf8f38657375abe29b3"
                        },
                        "entryPoint": "prefetch-dependencies",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-prefetch-dependencies"
                    }
                },
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-67c816e568fac61d-01"
                },
                "startTime": "2026-06-29T05:45:14Z",
                "steps": [
                    {
                        "container": "step-prefetch-dependencies",
                        "imageID": "quay.io/konflux-ci/hermeto@sha256:27936b01262824104cce87d433ffcb622bf906bc833033b6b05c62257f3c3232",
                        "name": "prefetch-dependencies",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://3d1bff31ae2fce5896da26d4a039307fc38d6453f9ff718a87e7ef4dd33242f5",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:45:30Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:45:28Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Task that prefetches project dependencies for hermetic build.",
                    "params": [
                        {
                            "description": "Configures project packages that will have their dependencies prefetched.",
                            "name": "input",
                            "type": "string"
                        },
                        {
                            "default": "debug",
                            "description": "Set the logging level (debug, info, warn, error, fatal).",
                            "name": "log-level",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Pass configuration to the prefetch tool.\nNote this needs to be passed as a YAML-formatted config dump, not as a file path!\n",
                            "name": "config-file-content",
                            "type": "string"
                        },
                        {
                            "default": "spdx",
                            "description": "Select the SBOM format to generate. Valid values: spdx, cyclonedx.",
                            "name": "sbom-type",
                            "type": "string"
                        },
                        {
                            "default": "strict",
                            "description": "Control how input requirement violations are handled: strict (errors) or permissive (warnings).",
                            "name": "mode",
                            "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": "service-ca.crt",
                            "description": "The name of the key in the ConfigMap that contains the service CA bundle data. Used to verify TLS connections to in-cluster services such as the package registry proxy.",
                            "name": "SERVICE_CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "openshift-service-ca.crt",
                            "description": "The name of the ConfigMap to read service CA bundle data from. Used to verify TLS connections to in-cluster services such as the package registry proxy.",
                            "name": "SERVICE_CA_TRUST_CONFIG_MAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Use the package registry proxy when prefetching dependencies",
                            "name": "enable-package-registry-proxy",
                            "type": "string"
                        },
                        {
                            "default": "activation-key",
                            "description": "Name of secret which contains subscription activation key",
                            "name": "ACTIVATION_KEY",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "imagePullPolicy": "IfNotPresent"
                    },
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "cpu": "1",
                                    "memory": "3Gi"
                                },
                                "requests": {
                                    "cpu": "1",
                                    "memory": "3Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "KBC_LOG_LEVEL",
                                    "value": "debug"
                                },
                                {
                                    "name": "KBC_PD_INPUT"
                                },
                                {
                                    "name": "KBC_PD_SOURCE_DIR",
                                    "value": "/workspace/source/source"
                                },
                                {
                                    "name": "KBC_PD_OUTPUT_DIR",
                                    "value": "/workspace/source/cachi2/output"
                                },
                                {
                                    "name": "KBC_PD_SBOM_FORMAT",
                                    "value": "spdx"
                                },
                                {
                                    "name": "KBC_PD_MODE",
                                    "value": "strict"
                                },
                                {
                                    "name": "KBC_PD_OUTPUT_DIR_MOUNT_POINT",
                                    "value": "/cachi2/output"
                                },
                                {
                                    "name": "KBC_PD_ENV_FILES",
                                    "value": "/workspace/source/cachi2/cachi2.env /workspace/source/cachi2/prefetch.env /workspace/source/cachi2/prefetch-env.json"
                                },
                                {
                                    "name": "KBC_PD_GIT_AUTH_DIRECTORY"
                                },
                                {
                                    "name": "WORKSPACE_NETRC_PATH"
                                },
                                {
                                    "name": "CONFIG_FILE_CONTENT"
                                },
                                {
                                    "name": "KBC_PD_ENABLE_PACKAGE_REGISTRY_PROXY",
                                    "value": "true"
                                }
                            ],
                            "image": "quay.io/konflux-ci/hermeto:0.55.0@sha256:27936b01262824104cce87d433ffcb622bf906bc833033b6b05c62257f3c3232",
                            "name": "prefetch-dependencies",
                            "script": "#!/bin/bash\n\nif [ -n \"${WORKSPACE_NETRC_PATH}\" ]; then\n  export NETRC=\"${WORKSPACE_NETRC_PATH}/.netrc\"\nfi\n\nCA_BUNDLE_PATH=/mnt/trusted-ca/ca-bundle.crt\nSERVICE_CA_BUNDLE_PATH=/mnt/service-ca/ca-bundle.crt\nUPDATE_CA_TRUST=false\n\nif [ -f \"$CA_BUNDLE_PATH\" ]; then\n  echo \"Using mounted CA bundle: $CA_BUNDLE_PATH\"\n  cp -vf \"$CA_BUNDLE_PATH\" /etc/pki/ca-trust/source/anchors/ca-bundle.crt\n  UPDATE_CA_TRUST=true\nfi\n\nif [ -f \"$SERVICE_CA_BUNDLE_PATH\" ]; then\n  echo \"Using mounted service CA bundle: $SERVICE_CA_BUNDLE_PATH\"\n  cp -vf \"$SERVICE_CA_BUNDLE_PATH\" /etc/pki/ca-trust/source/anchors/service-ca.crt\n  UPDATE_CA_TRUST=true\nfi\n\nif [ \"$UPDATE_CA_TRUST\" = \"true\" ]; then\n  update-ca-trust\n  # requests ignores the system CA store. Set REQUESTS_CA_BUNDLE explicitly.\n  export REQUESTS_CA_BUNDLE=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem\nfi\n\nif [ -e /activation-key/org ] \u0026\u0026 [ -e /activation-key/activationkey ]; then\n  export KBC_PD_RHSM_ORG=/activation-key/org\n  export KBC_PD_RHSM_ACTIVATION_KEY=/activation-key/activationkey\nfi\n\nif [ -n \"${CONFIG_FILE_CONTENT}\" ]; then\n  echo \"${CONFIG_FILE_CONTENT}\" \u003e /mnt/config/config.yaml\n  export KBC_PD_CONFIG_FILE=/mnt/config/config.yaml\nfi\n\nkonflux-build-cli prefetch-dependencies\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/activation-key",
                                    "name": "activation-key"
                                },
                                {
                                    "mountPath": "/mnt/config",
                                    "name": "config"
                                },
                                {
                                    "mountPath": "/mnt/trusted-ca",
                                    "name": "trusted-ca",
                                    "readOnly": true
                                },
                                {
                                    "mountPath": "/mnt/service-ca",
                                    "name": "service-ca",
                                    "readOnly": true
                                }
                            ]
                        }
                    ],
                    "volumes": [
                        {
                            "name": "activation-key",
                            "secret": {
                                "optional": true,
                                "secretName": "activation-key"
                            }
                        },
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        },
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "service-ca.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "openshift-service-ca.crt",
                                "optional": true
                            },
                            "name": "service-ca"
                        },
                        {
                            "emptyDir": {},
                            "name": "config"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "Workspace with the source code, prefetch artifacts will be stored on the workspace as well",
                            "name": "source"
                        },
                        {
                            "description": "A Workspace containing a .gitconfig and .git-credentials file or username and password.\nThese will be copied to the user's home before prefetch is run. Any\nother files in this Workspace are ignored. It is strongly recommended\nto bind a Secret to this Workspace over other volume types.\n",
                            "name": "git-basic-auth",
                            "optional": true
                        },
                        {
                            "description": "Workspace containing a .netrc file. Prefetch will use the credentials in this file when\nperforming http(s) requests.\n",
                            "name": "netrc",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/affinity-assistant": "affinity-assistant-3a9283a18f",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77/records/36aac2f0-897e-4b4f-90ae-34ab1089dbdf",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "image-build, appstudio",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5d4854e73400907b11d7bcd37e6b7205-62827f734dc0e7ad-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:48:05Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.3.1",
                    "build.appstudio.redhat.com/build_type": "docker",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "pipelines.openshift.io/runtime": "generic",
                    "pipelines.openshift.io/strategy": "docker",
                    "pipelines.openshift.io/used-by": "build-cloud",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "docker-build",
                    "tekton.dev/pipelineRun": "buildah-demo-ugtyfcxpkw",
                    "tekton.dev/pipelineRunUID": "cf8de139-bf72-42b1-9cea-ffd157739b77",
                    "tekton.dev/pipelineTask": "push-dockerfile",
                    "tekton.dev/task": "push-dockerfile"
                },
                "name": "buildah-demo-ugtyfcxpkw-push-dockerfile",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "buildah-demo-ugtyfcxpkw",
                        "uid": "cf8de139-bf72-42b1-9cea-ffd157739b77"
                    }
                ],
                "resourceVersion": "49743",
                "uid": "36aac2f0-897e-4b4f-90ae-34ab1089dbdf"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGE",
                        "value": "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw"
                    },
                    {
                        "name": "IMAGE_DIGEST",
                        "value": "sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8"
                    },
                    {
                        "name": "DOCKERFILE",
                        "value": "Containerfile"
                    },
                    {
                        "name": "CONTEXT",
                        "value": "."
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "push-dockerfile"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/konflux-ci/tekton-catalog/task-push-dockerfile:0.3@sha256:63b5704945accd668406746c95c314e21f861667dc083cff8194de4cc9085910"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s",
                "workspaces": [
                    {
                        "name": "workspace",
                        "persistentVolumeClaim": {
                            "claimName": "app-studio-default-workspace"
                        }
                    }
                ]
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:48:16Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:48:16Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "buildah-demo-ugtyfcxpkw-push-dockerfile-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "63b5704945accd668406746c95c314e21f861667dc083cff8194de4cc9085910"
                        },
                        "entryPoint": "push-dockerfile",
                        "uri": "quay.io/konflux-ci/tekton-catalog/task-push-dockerfile"
                    }
                },
                "results": [
                    {
                        "name": "IMAGE_REF",
                        "type": "string",
                        "value": "quay.io/redhat-appstudio-qe/test-images@sha256:485de91762fcd9a6bde10662bf20750e5f5445d82483c54709ce1e983904ba20"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-5d4854e73400907b11d7bcd37e6b7205-62827f734dc0e7ad-01"
                },
                "startTime": "2026-06-29T05:48:05Z",
                "steps": [
                    {
                        "container": "step-push",
                        "imageID": "quay.io/konflux-ci/konflux-build-cli@sha256:25fa4c4eeec8509c3486d24d3d215fc4c8280b1b0ca9cc8f4f7569f3a9523a25",
                        "name": "push",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://39383d7dec603839f3f798abf66441d877108e2107be6f701a1dc8af06db4509",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:16Z",
                            "message": "[{\"key\":\"IMAGE_REF\",\"value\":\"quay.io/redhat-appstudio-qe/test-images@sha256:485de91762fcd9a6bde10662bf20750e5f5445d82483c54709ce1e983904ba20\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:15Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Discover Dockerfile from source code and push it to registry as an OCI artifact.",
                    "params": [
                        {
                            "description": "The built binary image. The Dockerfile is pushed to the same image repository alongside.",
                            "name": "IMAGE",
                            "type": "string"
                        },
                        {
                            "description": "The built binary image digest, which is used to construct the tag of Dockerfile image.",
                            "name": "IMAGE_DIGEST",
                            "type": "string"
                        },
                        {
                            "default": "./Dockerfile",
                            "description": "Path to the Dockerfile.",
                            "name": "DOCKERFILE",
                            "type": "string"
                        },
                        {
                            "default": ".",
                            "description": "Path to the directory to use as context.",
                            "name": "CONTEXT",
                            "type": "string"
                        },
                        {
                            "default": ".dockerfile",
                            "description": "Suffix of the Dockerfile image tag.",
                            "name": "TAG_SUFFIX",
                            "type": "string"
                        },
                        {
                            "default": "application/vnd.konflux.dockerfile",
                            "description": "Artifact type of the Dockerfile image.",
                            "name": "ARTIFACT_TYPE",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIG_MAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "info",
                            "description": "Log level to use in the task. See golang logrus docs for available levels.",
                            "name": "LOG_LEVEL",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Digest-pinned image reference to the Dockerfile image.",
                            "name": "IMAGE_REF",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "imagePullPolicy": "IfNotPresent",
                        "volumeMounts": [
                            {
                                "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                "name": "trusted-ca",
                                "readOnly": true,
                                "subPath": "ca-bundle.crt"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "--source",
                                "source",
                                "--context",
                                ".",
                                "--containerfile",
                                "Containerfile",
                                "--image-url",
                                "quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw",
                                "--image-digest",
                                "sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8",
                                "--artifact-type",
                                "application/vnd.konflux.dockerfile",
                                "--tag-suffix",
                                ".dockerfile",
                                "--result-path-image-ref",
                                "/tekton/results/IMAGE_REF",
                                "--alternative-filename",
                                "Dockerfile"
                            ],
                            "command": [
                                "konflux-build-cli",
                                "image",
                                "push-containerfile"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "KBC_LOG_LEVEL",
                                    "value": "info"
                                }
                            ],
                            "image": "quay.io/konflux-ci/konflux-build-cli@sha256:b296232c9b0d478c0bd1f48911ead97cd786eebdc737b877797564567fda8eae",
                            "name": "push",
                            "workingDir": "/workspace/workspace"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "Workspace containing the source code from where the Dockerfile is discovered.",
                            "name": "workspace"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/1ab3037a-b22d-4715-8a18-02be747648ed/records/8c6e6a7d-afbc-4b64-b7f0-548f0f6da4aa",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/1ab3037a-b22d-4715-8a18-02be747648ed",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-a79b8b79ca8dc848be9ec24c838b5c2f-dc271af3f1ed24b6-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:49:44Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-2bf5q",
                    "tekton.dev/pipelineRunUID": "1ab3037a-b22d-4715-8a18-02be747648ed",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-2bf5q-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-2bf5q",
                        "uid": "1ab3037a-b22d-4715-8a18-02be747648ed"
                    }
                ],
                "resourceVersion": "52007",
                "uid": "8c6e6a7d-afbc-4b64-b7f0-548f0f6da4aa"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:latest\",\"source\":{}},{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:e2e-test-unacceptable-task\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/golden-image-public-keyuzsxngzjck"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:50:02Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:50:02Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-1cf46cf19bed690f8bd2d34e2bc40e21-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712201\",\"namespace\":\"\",\"successes\":84,\"failures\":0,\"warnings\":0,\"result\":\"SUCCESS\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-a79b8b79ca8dc848be9ec24c838b5c2f-dc271af3f1ed24b6-01"
                },
                "startTime": "2026-06-29T05:49:44Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://8d94f7787145a11d6ab14fc109c32670e40dc10b72bf58c2ece3bb1e4a34676f",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:51Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:51Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://bc585837251f50ac8c9fc797b57ab91d7613eb5b9240e63f4c37819897c2c66f",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:51Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:51Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://3607bbf1d29704a3e5c79f168757c5d3a7a88cb6ef860355931f5945848b42ab",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:51Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://d368c842a59462fad8affab20c8ea9734e27d4d6075385d85126a0eee2193c7a",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:01Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://55456f26b85b9ff727b6d40897dd545ac8aea43a826b8984135674dc4f0a4003",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:01Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://323450e6ba5795ff5746f3c4f101263f9107c66ad34db871c09182c76c3040c1",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:01Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://d66bed0315606f281128c0fc25fecb1645c040c979c49e05ab64d6d057d520cf",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:01Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://7257e7e81983b609166437b2ae03273b3c7f140b640b86997ec9730ce5646ee6",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:01Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://7b8a6da94b4b707897bb52ec2537b9dd60661c1e0e5cf8cddf3d992980674dea",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:01Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712201\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":84,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:01Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:latest\",\"source\":{}},{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:e2e-test-unacceptable-task\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/golden-image-public-keyuzsxngzjck"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/ef737480-18da-4a0a-9855-5d2c0005df48/records/35096439-8ab5-4e0c-9039-455584d65d9d",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/ef737480-18da-4a0a-9855-5d2c0005df48",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-f32d6547647aa955628f531a826c4bc8-4ceece8aa494cce1-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:48:42Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-2xxsm",
                    "tekton.dev/pipelineRunUID": "ef737480-18da-4a0a-9855-5d2c0005df48",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-2xxsm-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-2xxsm",
                        "uid": "ef737480-18da-4a0a-9855-5d2c0005df48"
                    }
                ],
                "resourceVersion": "50570",
                "uid": "35096439-8ab5-4e0c-9039-455584d65d9d"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "false"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:48:54Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:48:54Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-3abd593ccb34c435a1f377f851d77474-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712133\",\"namespace\":\"\",\"successes\":5,\"failures\":1,\"warnings\":0,\"result\":\"FAILURE\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-f32d6547647aa955628f531a826c4bc8-4ceece8aa494cce1-01"
                },
                "startTime": "2026-06-29T05:48:42Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://94d16d5e8d26d3fb7480a301d4ea77c433f06dfe53cf660d2b8e25b5b0c6f1e5",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:47Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:47Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://dc27980ae688c54a3d6410ae345e0c48ac8a8dc824735b74f0a74e23645822c0",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:47Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:47Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://61714756c5c1cc785b1dd67e1b6aeced33c8a2656098b127b449f943342437f1",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:53Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:47Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://5aefecad8b0074619c9fd9068a7dbed7180eb72e5a1db2fa3a9f0d10023e65a5",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:53Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:53Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://098bef2d0af0be687db88e8b5e17fb24f0deba7eadcb4e4f22750aaeb0ea8b63",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:54Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:54Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://44dc5ce4736fa0d901276f669f7c58ae76c08c216a786dfbb5da1d001cc6a007",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:54Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:54Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://0f82a945abc871917d43ba85ae5636ae3ae9f1b967f3506c2f1c50693e48e985",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:54Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:54Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://73e00b7ca2d142bc73644dff8a02e60daa6b4c42a5ba77e5022d8631f7d81834",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:54Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:54Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://774a168d157af38e09ad043f7a16e3826a8d41668d7959652ce387d010080ce5",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:54Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712133\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:54Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "false",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/3ff652cc-da91-4ea8-b643-0962011f9f7b/records/d9c5b2e6-8fa7-4eb5-8aa2-afed7af6c576",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/3ff652cc-da91-4ea8-b643-0962011f9f7b",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-913dbe5b03f095b21ed51489999e8e56-f32cdff1986f50c8-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:48:55Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-4dfkj",
                    "tekton.dev/pipelineRunUID": "3ff652cc-da91-4ea8-b643-0962011f9f7b",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-4dfkj-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-4dfkj",
                        "uid": "3ff652cc-da91-4ea8-b643-0962011f9f7b"
                    }
                ],
                "resourceVersion": "50990",
                "uid": "d9c5b2e6-8fa7-4eb5-8aa2-afed7af6c576"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:49:17Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:49:17Z",
                        "message": "\"step-assert\" exited with code 1: Error",
                        "reason": "StepFailed",
                        "status": "False",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-9fa55e8edf5fe1f039078465f629a62e-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712156\",\"namespace\":\"\",\"successes\":5,\"failures\":1,\"warnings\":0,\"result\":\"FAILURE\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-913dbe5b03f095b21ed51489999e8e56-f32cdff1986f50c8-01"
                },
                "startTime": "2026-06-29T05:48:55Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://52071339935e110f7639345163233314bbc10a7d35c2406f8c136b7b7bb74413",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:10Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:10Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://3980023fdbcab16c2e18eb70222f8a6dc8cd9633f9a64d685118cb0cbb4365fc",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:10Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:10Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://3090e61472f00fee5ada9fbc9906d293b636a0da7dcd1f8a5a276e1aecb8c676",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:16Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:10Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://77603ab4acd583ac3bbd23cfb39fdef3d54c68fa31b91c29c41b08dbc80ee472",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:16Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:16Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://d2826c1335aa3a83a2d34c0a1c6600834394c089463eaa47316e6aa362557b7f",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:16Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:16Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://3031e9b59fc54227f5aea7f36249f25960b2a1fe22a9e331b1f8811ebf263aed",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:16Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:16Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://2b5d29260399d2fc460575a81f74ea805f300174a405d600021f05888ae3ed5c",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:17Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:16Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://f0520a8b252ad05ecb0cedb4ac95bcab92394617df2593ed07fbaa0b081290e0",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:17Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:17Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://48adb0ff9527d56f5dd03713e7993b6d384fb118ece915dd6d048fe5920c2672",
                            "exitCode": 1,
                            "finishedAt": "2026-06-29T05:49:17Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712156\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":1,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Error",
                            "startedAt": "2026-06-29T05:49:17Z"
                        },
                        "terminationReason": "Error"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/c9c4d347-9375-4aec-ba78-37ea9ee3beee/records/ffb0120c-3557-4442-9e98-01882466091b",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/c9c4d347-9375-4aec-ba78-37ea9ee3beee",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-ccdc5a603392f7414157988c6527fd88-53c68e5b24c1cd6c-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:48:20Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-4zxm6",
                    "tekton.dev/pipelineRunUID": "c9c4d347-9375-4aec-ba78-37ea9ee3beee",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-4zxm6-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-4zxm6",
                        "uid": "c9c4d347-9375-4aec-ba78-37ea9ee3beee"
                    }
                ],
                "resourceVersion": "50255",
                "uid": "ffb0120c-3557-4442-9e98-01882466091b"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:48:40Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:48:40Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-7932d6585c24ecd17aa9b9aed3c1447d-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712119\",\"namespace\":\"\",\"successes\":5,\"failures\":0,\"warnings\":0,\"result\":\"SUCCESS\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-ccdc5a603392f7414157988c6527fd88-53c68e5b24c1cd6c-01"
                },
                "startTime": "2026-06-29T05:48:20Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://c70b4f4312bf0a725aa65109897a1c6b2fb2f04b5dc1abf98cc33b13a4573c25",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:32Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:32Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://56ceef20c582303f6c7fd4253c5bb7caefda7ad4d528d9a563cb74b0263b491d",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:32Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:32Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://06caa403f557dbf43b5db5b8894def9d167d167db51b543aaa055082f7c26848",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:39Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:33Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://def0e0500d73e84f2a745f5fe62406090757a0a9528b35a2bec68b6c8b5c9c0f",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:40Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:40Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://2b978ac1490583adecc7f505c91913c4fa25236ab2516c628504cb4610aa86ca",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:40Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:40Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://a33e34eaad9b6019bc824f3801e48c0c24cc1a419fbcf1d3be77076e06ab7a72",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:40Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:40Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://7c5362a43a97cf6bdab1674984a8f0960479cfbff6fc31b06d86722df7503eb7",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:40Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:40Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://c831b14846803240393c749c53d6cb64eb608e833c458adeadaa528e58bbfe31",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:40Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:40Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://dc97e162d321c3ed01993adc4fb8b76f6dd68ea957c03a7c8cb3f1512c64abe7",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:48:40Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712119\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":5,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:48:40Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/b9786f16-391a-4f2a-b659-fb1fc2739316/records/8251604f-9ddf-4d73-9368-6cf7156bdbb0",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/b9786f16-391a-4f2a-b659-fb1fc2739316",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-5a70b49df2693b3ba7a3c304e6a14ab7-5af6b85c7dd7a74b-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:50:03Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-9lv2j",
                    "tekton.dev/pipelineRunUID": "b9786f16-391a-4f2a-b659-fb1fc2739316",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-9lv2j-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-9lv2j",
                        "uid": "b9786f16-391a-4f2a-b659-fb1fc2739316"
                    }
                ],
                "resourceVersion": "52643",
                "uid": "8251604f-9ddf-4d73-9368-6cf7156bdbb0"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:latest\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/golden-image-public-keyirpxdcmghl"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:50:36Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:50:36Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-8301bf40871e002d3a40a63518a3f54f-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712235\",\"namespace\":\"\",\"successes\":420,\"failures\":0,\"warnings\":36,\"result\":\"WARNING\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-5a70b49df2693b3ba7a3c304e6a14ab7-5af6b85c7dd7a74b-01"
                },
                "startTime": "2026-06-29T05:50:03Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://79a7b4aea56279cc5b78633ddeeaff92921745742e4f727db3b6500ba57704d7",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:09Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:09Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://5a9eb1c0aa6255278959e02c138a87f9558e75806972c062c269aa16667f3ef6",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:09Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:09Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://013f975475efa48b2294836b2749e341cfa3a7a022f159c6de3cc7d2fc3e0082",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:09Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://5d920609c20d6a236be727efd9a391765580887c46e4c0f989550435007d3ba3",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://405917275c72c5764335ff08a251d315243a4aff72fa58f61c0f04132989d2ed",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://9aa9e4a875ca2e76cd07d9611786abb33a262ad6af52e63bb017f78fc3be1ffa",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://363d44009def23c0b1d6cf61d8fcb8749c3d9e3a270771417a5bb43cadea6a4c",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://25062c6f9033ddfdf924a1be902a80e642e6b2058ddfa412d7d8e46e216c6dcd",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://1d389cb9152811beeecbdedef8a1afdc252b8b5b4eb405bf96ef0eff55921481",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712235\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":420,\\\"failures\\\":0,\\\"warnings\\\":36,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:35Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:latest\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/golden-image-public-keyirpxdcmghl"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/34394458-15d3-4b52-aad8-08286b7fcbb9/records/28d14483-14be-4af4-8564-e1efe02afabb",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/34394458-15d3-4b52-aad8-08286b7fcbb9",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-c708776eb2995b40463d7a0d203df2d1-8494deb8d0cd8a35-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:49:30Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-d5x5x",
                    "tekton.dev/pipelineRunUID": "34394458-15d3-4b52-aad8-08286b7fcbb9",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-d5x5x-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-d5x5x",
                        "uid": "34394458-15d3-4b52-aad8-08286b7fcbb9"
                    }
                ],
                "resourceVersion": "51607",
                "uid": "28d14483-14be-4af4-8564-e1efe02afabb"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:latest\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:49:44Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:49:44Z",
                        "message": "\"step-assert\" exited with code 1: Error",
                        "reason": "StepFailed",
                        "status": "False",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-87a80fc3c97a08be7a31b9e06b6c256d-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712183\",\"namespace\":\"\",\"successes\":0,\"failures\":6,\"warnings\":0,\"result\":\"FAILURE\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-c708776eb2995b40463d7a0d203df2d1-8494deb8d0cd8a35-01"
                },
                "startTime": "2026-06-29T05:49:31Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://ca31c6edb78425b25b0dbd25445b65e198bf90b6b0ec6c0e6368857f3b04c8b5",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:36Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:36Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://290fcf456749bb84cfb3462a3bce8ec72c6ec813def0a122096cac654f6dc513",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:37Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:37Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://497bbcfe04ad0d0db5c67d7f100860edbcb35cb2cfca47c036a65955072a68fb",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:37Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://0b8d48b07e2d3847152ee79a9f663d68286f3d35829e6b6bb54e290515ee1f4e",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://187f4ce41787675f6b6f91ff4438e59bdd7c0896ea9e94714cd982fde485a885",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://4eb793b2fb0965e19651fa759f9e75cd476ad0c2f8ad5be73a6fd0860b5e97a5",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://ff6d139093eab48ecd0bad7f7f660b28f894d9921f566073d836f0daf142c118",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://d001ff9056a19f4263786fdd06244dabf3e971cbf0b154a3a38b710be89016aa",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://4b1a685d159ce142c030eb7a597434e34f4881d5850f1e889f0ee523bf4f9d71",
                            "exitCode": 1,
                            "finishedAt": "2026-06-29T05:49:43Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712183\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":6,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Error",
                            "startedAt": "2026-06-29T05:49:43Z"
                        },
                        "terminationReason": "Error"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:latest\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/cosign-public-key"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/c70d16cb-8bbc-4657-ad79-c7452a4742ae/records/4e2f3a88-a2fa-4c30-91e9-fc6ab14a2bfe",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/c70d16cb-8bbc-4657-ad79-c7452a4742ae",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-8aa7b8436877a8fd99f551e6561ba430-9920a542ce9db432-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:49:18Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-dxxw8",
                    "tekton.dev/pipelineRunUID": "c70d16cb-8bbc-4657-ad79-c7452a4742ae",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-dxxw8-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-dxxw8",
                        "uid": "c70d16cb-8bbc-4657-ad79-c7452a4742ae"
                    }
                ],
                "resourceVersion": "51309",
                "uid": "4e2f3a88-a2fa-4c30-91e9-fc6ab14a2bfe"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/dummy-public-key-wzoavupnwa"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:49:29Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:49:29Z",
                        "message": "\"step-assert\" exited with code 1: Error",
                        "reason": "StepFailed",
                        "status": "False",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-e0f93fa8cdec35ce33dcef3639c226b4-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712168\",\"namespace\":\"\",\"successes\":0,\"failures\":2,\"warnings\":0,\"result\":\"FAILURE\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-8aa7b8436877a8fd99f551e6561ba430-9920a542ce9db432-01"
                },
                "startTime": "2026-06-29T05:49:18Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://066ca179ea2ff25ae9f31536ff95c0693263bc79b6f8f3fb7c8813c89ae99301",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:24Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:24Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://30c025b409a77d496b828e5a7cc3710aba276b82b72b79ac0ecec8f849895449",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:24Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:24Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://b79bc0f4e08b256a0898c3e5f212a0e88a7961cc0af0e985f0ca0d7fabb43bab",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:28Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:25Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://98ea5f6f3a4ab1dfea66f6ba82e657718bbef6b921a0c1970b4a9c7fb6b867b7",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:29Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:29Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://0be7acb79ad1b07e5a92d2f3353b85f9ad21588a0069ddbbe719a91911cf9fe7",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:29Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:29Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://40a7963ccbba56aa220ffd11fbf86ccdec707e442bf541c27d4f44331811b26f",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:29Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:29Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://576112b3985dbbbde6fc89be4f83f910aebf1024754d5c0fa8df6c9470e64ccc",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:29Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:29Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://cf98f7a9e1156a827e616d68a5bdfd2dede36bdcf5294fad482397817303e07d",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:49:29Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:49:29Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://1b0c5a4fc6bd733a7f77d81f946f86557673e9767936f380a9648ed55ecd3924",
                            "exitCode": 1,
                            "finishedAt": "2026-06-29T05:49:29Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712168\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":0,\\\"failures\\\":2,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Error",
                            "startedAt": "2026-06-29T05:49:29Z"
                        },
                        "terminationReason": "Error"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/test-images:buildah-demo-ugtyfcxpkw@sha256:713328f14b2b4031c7a5a6bd2d44479cc3893bb4fe07a208d821bd9dcc0d19c8\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/dummy-public-key-wzoavupnwa"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/95e97f21-749c-4d39-95ea-733254f81eba/records/a9ddb62d-757e-43c7-bd1b-a4c7a07835c8",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/95e97f21-749c-4d39-95ea-733254f81eba",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-636bc3c968baa71177e6518414738b39-53de1dcb580678ce-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:50:52Z",
                "finalizers": [
                    "results.tekton.dev/taskrun",
                    "chains.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-r7sb6",
                    "tekton.dev/pipelineRunUID": "95e97f21-749c-4d39-95ea-733254f81eba",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-r7sb6-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-r7sb6",
                        "uid": "95e97f21-749c-4d39-95ea-733254f81eba"
                    }
                ],
                "resourceVersion": "53298",
                "uid": "a9ddb62d-757e-43c7-bd1b-a4c7a07835c8"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/enterprise-contract-tests:e2e-test-unpinned-task-bundle\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/unpinned-task-bundle-public-keykdvfkxxyxy"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:51:06Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:51:06Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-39192cc4a1c3a5995aeff1747be70f99-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712265\",\"namespace\":\"\",\"successes\":3,\"failures\":0,\"warnings\":16,\"result\":\"WARNING\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-636bc3c968baa71177e6518414738b39-53de1dcb580678ce-01"
                },
                "startTime": "2026-06-29T05:50:52Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://4c2e3de2c8678d9c99bfcae4537fbc6eda3747b0b8a5bf324fd8d2807b72464f",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:58Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:58Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://ffc003c497b444d1a50d724fefc6352263132f6335221cffff11c5a1891fefff",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:58Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:58Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://7864c724a173f1733794744bcca395ff048adb63d38790bc704cb8445ea27123",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:58Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://1d21480275431c063781cc4f65246acb48d5373a352d50c4a4bf16a26d4e63d4",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:51:05Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://1c9c21bc5620b711da4eac0c887ffd5dcffc5b7678cf6cc0a487e9c78c811a84",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:51:05Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://e13f5d776a38909fef547fb87eb736adaf03d67acc857a4ad538b0e282ac4fa9",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:51:05Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://52d14cde8a5467734975e3685c6a44de1e96650f00bbd5c09be5c7a4856f187d",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:51:05Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://6a76ee4515ea85b41943a634ae2faec49de4d325f1d9aa13f15a9fe44552e469",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:51:05Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://0946abe35befa2d8ebe3dfe5bcc3c53d5795edbda73fb3bb0f59ff483230b758",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:51:05Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712265\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":0,\\\"warnings\\\":16,\\\"result\\\":\\\"WARNING\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:51:05Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/redhat-appstudio-qe/enterprise-contract-tests:e2e-test-unpinned-task-bundle\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/unpinned-task-bundle-public-keykdvfkxxyxy"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "kueue.konflux-ci.dev/requests-konflux-ci-dev-token": "1",
                    "pipeline.tekton.dev/release": "b150ab2dbe70ef4c9d499e6bf5dcf5738b5a591b",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "chains-e2e-lzdi/results/5027591f-b7af-4508-b29d-a20c9cb41ad0/records/92f44026-fa96-481d-93d2-7a1421bf8eb9",
                    "results.tekton.dev/result": "chains-e2e-lzdi/results/5027591f-b7af-4508-b29d-a20c9cb41ad0",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Enterprise Contract",
                    "tekton.dev/pipelines.minVersion": "0.19",
                    "tekton.dev/tags": "ec, chains, signature, conftest",
                    "tekton.dev/taskrunSpanContext": "{\"traceparent\":\"00-984faf2264f111200732765848f0c549-d01edb6df74a60a5-01\"}"
                },
                "creationTimestamp": "2026-06-29T05:50:37Z",
                "finalizers": [
                    "chains.tekton.dev/taskrun",
                    "results.tekton.dev/taskrun"
                ],
                "generation": 1,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "",
                    "kueue.x-k8s.io/priority-class": "konflux-default",
                    "kueue.x-k8s.io/queue-name": "pipelines-queue",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "verify-enterprise-contract-run",
                    "tekton.dev/pipelineRun": "verify-enterprise-contract-run-tms8q",
                    "tekton.dev/pipelineRunUID": "5027591f-b7af-4508-b29d-a20c9cb41ad0",
                    "tekton.dev/pipelineTask": "verify-enterprise-contract",
                    "tekton.dev/task": "verify-enterprise-contract"
                },
                "name": "verify-enterprise-contract-run-tms8q-verify-enterprise-contract",
                "namespace": "chains-e2e-lzdi",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "verify-enterprise-contract-run-tms8q",
                        "uid": "5027591f-b7af-4508-b29d-a20c9cb41ad0"
                    }
                ],
                "resourceVersion": "52993",
                "uid": "92f44026-fa96-481d-93d2-7a1421bf8eb9"
            },
            "spec": {
                "params": [
                    {
                        "name": "IMAGES",
                        "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:e2e-test-unacceptable-task\",\"source\":{}}],\"artifacts\":{}}"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "ec-policy"
                    },
                    {
                        "name": "PUBLIC_KEY",
                        "value": "k8s://chains-e2e-lzdi/golden-image-public-keypacfyfkjxx"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "EFFECTIVE_TIME",
                        "value": "now"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    }
                ],
                "podTemplate": {
                    "nodeSelector": {
                        "konflux-ci.dev/workload": "konflux-tenants"
                    },
                    "tolerations": [
                        {
                            "effect": "NoSchedule",
                            "key": "konflux-ci.dev/workload",
                            "operator": "Equal",
                            "value": "konflux-tenants"
                        }
                    ]
                },
                "serviceAccountName": "konflux-integration-runner",
                "taskRef": {
                    "params": [
                        {
                            "name": "name",
                            "value": "verify-enterprise-contract"
                        },
                        {
                            "name": "bundle",
                            "value": "quay.io/conforma/tekton-task:kf-b345847182602d9a5ce9e957fa76fe02575c8018@sha256:7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        {
                            "name": "kind",
                            "value": "task"
                        }
                    ],
                    "resolver": "bundles"
                },
                "timeout": "2h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-06-29T05:50:51Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-06-29T05:50:51Z",
                        "message": "\"step-assert\" exited with code 1: Error",
                        "reason": "StepFailed",
                        "status": "False",
                        "type": "Succeeded"
                    }
                ],
                "podName": "verify-enterprise-contract-4d7c2844dc5a0fd4c4aa219fbdb7444f-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "alpha",
                        "enableParamEnum": true,
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha256": "7df8d121c09999d0376e189c1eb8a8263078aab697aa5ee966512f581427a6ce"
                        },
                        "entryPoint": "verify-enterprise-contract",
                        "uri": "quay.io/conforma/tekton-task"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1782712250\",\"namespace\":\"\",\"successes\":3,\"failures\":11,\"warnings\":0,\"result\":\"FAILURE\"}\n"
                    }
                ],
                "spanContext": {
                    "traceparent": "00-984faf2264f111200732765848f0c549-d01edb6df74a60a5-01"
                },
                "startTime": "2026-06-29T05:50:37Z",
                "steps": [
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://3f95b267a930bbd7291ba9fb6954e5d102c8772e0c40504160a447ce87cb1417",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:43Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:43Z"
                        },
                        "terminationReason": "Skipped"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://93db1fd0198d37993e2a0dab70e330a7bdce9cf36106b0787b4a11e8bccf6656",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:43Z",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://07ea7abb903f4a0e95e2097b7e9f0702611bdf799ffb775d15a5c0e52ba0ff0d",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:43Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://446a602d19dab7b6924e026ae99a3c4c10fe399e83d1f80a3a32582f8cdad7ab",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:50Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://58d80e5694389cbb4c22da27a1e8de26504e538edd0166c67554f4c7193f3846",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:50Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://75d3b5e948cccd051368f560eb838c02b7a9388a1cd7c2a9a07e96b15c49a795",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:50Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://feb467592c383ee5acf28f85e27cafa38b98cde7801f5f26f0eb582e1664cadc",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:50Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://0a63ed70e2cf9bc7a8f6921144124c109625aadc5ccb169c5d6cefeda348dc88",
                            "exitCode": 0,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-06-29T05:50:50Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "cri-o://d5ea618fb3e8660ee92f1315b5f6dc430f03395281f47c6c62f3f3161f934d20",
                            "exitCode": 1,
                            "finishedAt": "2026-06-29T05:50:50Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1782712250\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":3,\\\"failures\\\":11,\\\"warnings\\\":0,\\\"result\\\":\\\"FAILURE\\\"}\\n\",\"type\":1}]",
                            "reason": "Error",
                            "startedAt": "2026-06-29T05:50:50Z"
                        },
                        "terminationReason": "Error"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the enterprise contract is met",
                    "params": [
                        {
                            "description": "Spec section of an ApplicationSnapshot resource. Not all fields of the\nresource are required. A minimal example:\n\n```json\n  {\n    \"components\": [\n      {\n        \"containerImage\": \"quay.io/example/repo:latest\"\n      }\n    ]\n  }\n```\n\nEach `containerImage` in the `components` array is validated.\n",
                            "name": "IMAGES",
                            "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": "",
                            "description": "Public key used to verify traditional long-lived signatures. Must be a valid k8s cosign reference, e.g. k8s://my-space/my-secret where my-secret contains the expected cosign.pub attribute. Required for traditional signing key verification. Will be ignored if any of CERTIFICATE_IDENTITY, CERTIFICATE_IDENTITY_REGEXP, CERTIFICATE_OIDC_ISSUER, or CERTIFICATE_OIDC_ISSUER_REGEXP are provided.",
                            "name": "PUBLIC_KEY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Rekor host for transparency log lookups",
                            "name": "REKOR_HOST",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected identity in the signing certificate for keyless verification. This should be the email or URI that was used when signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_IDENTITY",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Expected OIDC issuer in the signing certificate for keyless verification. This should match the issuer that provided the identity token used for signing. You should provide both CERTIFICATE_OIDC_ISSUER and CERTIFICATE_IDENTITY for keyless verification. The PUBLIC_KEY param will be ignored if this is provided.",
                            "name": "CERTIFICATE_OIDC_ISSUER",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_IDENTITY but the value is a regexp that will be matched. Note that CERTIFICATE_IDENTITY takes precedence over this if both are present.",
                            "name": "CERTIFICATE_IDENTITY_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Similar to CERTIFICATE_OIDC_ISSUER but a regexp that will be matched. Note that CERTIFICATE_OIDC_ISSUER takes precedence over this if both are present.",
                            "name": "CERTIFICATE_OIDC_ISSUER_REGEXP",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Skip Rekor transparency log checks during validation. Compatible with traditional signing secret signature checks only. If any of the CERTIFICATE_* keyless verification params are present, this value is disregarded and Rekor transparency log checks are included.",
                            "name": "IGNORE_REKOR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "TUF mirror URL. Provide a value when NOT using public sigstore deployment.",
                            "name": "TUF_MIRROR",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Path to a directory containing SSL certs to be used when communicating\nwith external services. This is useful when using the integrated registry\nand a local instance of Rekor on a development cluster which may use\ncertificates issued by a not-commonly trusted root CA. In such cases,\n`/var/run/secrets/kubernetes.io/serviceaccount` is a good value. Multiple\npaths can be provided by using the `:` separator.\n",
                            "name": "SSL_CERT_DIR",
                            "type": "string"
                        },
                        {
                            "default": "trusted-ca",
                            "description": "The name of the ConfigMap to read CA bundle data from.",
                            "name": "CA_TRUST_CONFIGMAP_NAME",
                            "type": "string"
                        },
                        {
                            "default": "ca-bundle.crt",
                            "description": "The name of the key in the ConfigMap that contains the CA bundle data.",
                            "name": "CA_TRUST_CONFIG_MAP_KEY",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Include rule titles and descriptions in the output. Set to `\"false\"` to disable it.",
                            "name": "INFO",
                            "type": "string"
                        },
                        {
                            "default": "true",
                            "description": "Fail the task if policy fails. Set to `\"false\"` to disable it.",
                            "name": "STRICT",
                            "type": "string"
                        },
                        {
                            "default": "/tekton/home",
                            "description": "Value for the HOME environment variable.",
                            "name": "HOMEDIR",
                            "type": "string"
                        },
                        {
                            "default": "now",
                            "description": "Run policy checks with the provided time.",
                            "name": "EFFECTIVE_TIME",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Merge additional Rego variables into the policy data. Use syntax \"key=value,key2=value2...\"",
                            "name": "EXTRA_RULE_DATA",
                            "type": "string"
                        },
                        {
                            "default": "1",
                            "description": "Number of parallel workers to use for policy evaluation.",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "false",
                            "description": "Reduce the Snapshot to only the component whose build caused the Snapshot to be created",
                            "name": "SINGLE_COMPONENT",
                            "type": "string"
                        },
                        {
                            "default": "unknown",
                            "description": "Name, including kind, of the Kubernetes resource to query for labels when single component mode is enabled, e.g. pr/somepipeline.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Kubernetes namespace where the SINGLE_COMPONENT_NAME is found. Only used when single component mode is enabled.\n",
                            "name": "SINGLE_COMPONENT_CUSTOM_RESOURCE_NS",
                            "type": "string"
                        },
                        {
                            "default": "1s",
                            "description": "Base duration for exponential backoff calculation (e.g., \"1s\", \"500ms\")",
                            "name": "RETRY_DURATION",
                            "type": "string"
                        },
                        {
                            "default": "2.0",
                            "description": "Exponential backoff multiplier (e.g., \"2.0\", \"1.5\")",
                            "name": "RETRY_FACTOR",
                            "type": "string"
                        },
                        {
                            "default": "0.1",
                            "description": "Randomness factor for backoff calculation (0.0-1.0, e.g., \"0.1\", \"0.2\")",
                            "name": "RETRY_JITTER",
                            "type": "string"
                        },
                        {
                            "default": "3",
                            "description": "Maximum number of retry attempts",
                            "name": "RETRY_MAX_RETRY",
                            "type": "string"
                        },
                        {
                            "default": "3s",
                            "description": "Maximum wait time between retries (e.g., \"3s\", \"10s\")",
                            "name": "RETRY_MAX_WAIT",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "sigstore",
                                "initialize",
                                "--mirror",
                                "",
                                "--root",
                                "/root.json"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "initialize-tuf",
                            "when": [
                                {
                                    "operator": "notin",
                                    "values": [
                                        ""
                                    ]
                                }
                            ]
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "{\"application\":\"\",\"componentGroup\":\"\",\"components\":[{\"name\":\"\",\"version\":\"\",\"containerImage\":\"quay.io/konflux-ci/ec-golden-image:e2e-test-unacceptable-task\",\"source\":{}}],\"artifacts\":{}}"
                                },
                                {
                                    "name": "SINGLE_COMPONENT",
                                    "value": "false"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE",
                                    "value": "unknown"
                                },
                                {
                                    "name": "CUSTOM_RESOURCE_NAMESPACE"
                                },
                                {
                                    "name": "SNAPSHOT_PATH",
                                    "value": "/tekton/home/snapshot.json"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "1800m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "ec-policy"
                                },
                                {
                                    "name": "PUBLIC_KEY",
                                    "value": "k8s://chains-e2e-lzdi/golden-image-public-keypacfyfkjxx"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER"
                                },
                                {
                                    "name": "CERTIFICATE_IDENTITY_REGEXP"
                                },
                                {
                                    "name": "CERTIFICATE_OIDC_ISSUER_REGEXP"
                                },
                                {
                                    "name": "REKOR_HOST"
                                },
                                {
                                    "name": "IGNORE_REKOR",
                                    "value": "true"
                                },
                                {
                                    "name": "WORKERS",
                                    "value": "1"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA"
                                },
                                {
                                    "name": "RETRY_MAX_WAIT",
                                    "value": "3s"
                                },
                                {
                                    "name": "RETRY_MAX_RETRY",
                                    "value": "3"
                                },
                                {
                                    "name": "RETRY_DURATION",
                                    "value": "1s"
                                },
                                {
                                    "name": "RETRY_FACTOR",
                                    "value": "2.0"
                                },
                                {
                                    "name": "RETRY_JITTER",
                                    "value": "0.1"
                                },
                                {
                                    "name": "HOMEDIR",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "SSL_CERT_DIR",
                                    "value": "/tekton-custom-certs:/etc/ssl/certs:/etc/pki/tls/certs:/system/etc/security/cacerts:/var/run/secrets/kubernetes.io/serviceaccount"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\ncmd_args=(\n  validate\n  image\n  --images=\"${HOMEDIR}/snapshot.json\"\n  --policy=\"${POLICY_CONFIGURATION}\"\n)\n\n# To keep bash logic as thin as possible we deliberately don't sanitize\n# these params. If something is wrong or missing let Conforma handle it.\n\nif [ -n \"${CERTIFICATE_IDENTITY}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ] || \\\n   [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ] || \\\n   [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n  # If *any* of the above are non-empty assume the intention is to\n  # try keyless verification\n\n  if [ -n \"${CERTIFICATE_IDENTITY}\" ]; then\n    cmd_args+=(\n      --certificate-identity=\"${CERTIFICATE_IDENTITY}\"\n    )\n  elif [ -n \"${CERTIFICATE_IDENTITY_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-identity-regexp=\"${CERTIFICATE_IDENTITY_REGEXP}\"\n    )\n  fi\n\n  if [ -n \"${CERTIFICATE_OIDC_ISSUER}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer=\"${CERTIFICATE_OIDC_ISSUER}\"\n    )\n  elif [ -n \"${CERTIFICATE_OIDC_ISSUER_REGEXP}\" ]; then\n    cmd_args+=(\n      --certificate-oidc-issuer-regexp=\"${CERTIFICATE_OIDC_ISSUER_REGEXP}\"\n    )\n  fi\n\n  # Force --ignore-rekor to false since we need rekor\n  cmd_args+=(\n    --ignore-rekor=false\n  )\nelse\n  # Assume traditional signing secret verification\n  cmd_args+=(\n    --public-key=\"${PUBLIC_KEY}\"\n    --ignore-rekor=\"${IGNORE_REKOR}\"\n  )\nfi\n\ncmd_args+=(\n  --rekor-url=\"${REKOR_HOST}\"\n  --workers=\"${WORKERS}\"\n  --info=\"${INFO}\"\n  --timeout=0\n  --strict=false\n  --show-successes=true\n  --show-policy-docs-link=true\n  --effective-time=\"${EFFECTIVE_TIME}\"\n  --extra-rule-data=\"${EXTRA_RULE_DATA}\"\n  --retry-max-wait=\"${RETRY_MAX_WAIT}\"\n  --retry-max-retry=\"${RETRY_MAX_RETRY}\"\n  --retry-duration=\"${RETRY_DURATION}\"\n  --retry-factor=\"${RETRY_FACTOR}\"\n  --retry-jitter=\"${RETRY_JITTER}\"\n  --output=\"text=${HOMEDIR}/text-report.txt?show-successes=false\"\n  --output=\"json=${HOMEDIR}/report-json.json\"\n  --output=\"appstudio=/tekton/results/TEST_OUTPUT\"\n)\n\n\n# Execute Conforma with constructed arguments\nexec ec \"${cmd_args[@]}\"\n",
                            "volumeMounts": [
                                {
                                    "mountPath": "/etc/pki/tls/certs/ca-custom-bundle.crt",
                                    "name": "trusted-ca",
                                    "readOnly": true,
                                    "subPath": "ca-bundle.crt"
                                }
                            ]
                        },
                        {
                            "args": [
                                "jq . /tekton/home/report-json.json | awk '{gsub(/^ +/, \"\"); acc += length; if (acc \u003e= 8000) { printf \"\\n\"; acc=length } printf $0 }'"
                            ],
                            "command": [
                                "sh",
                                "-c"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "detailed-report",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "--argjson",
                                "strict",
                                "true",
                                "-e",
                                ".result == \"SUCCESS\" or .result == \"WARNING\" or ($strict | not)\n",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "256Mi"
                                },
                                "requests": {
                                    "cpu": "100m",
                                    "memory": "256Mi"
                                }
                            },
                            "image": "quay.io/conforma/cli@sha256:2f5bed7fd51f678ea960aaf5bed033412b7d207a83bb1b02b108be5ca71a058d",
                            "name": "assert"
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        }
                    ],
                    "workspaces": [
                        {
                            "description": "The workspace where the snapshot spec json file resides",
                            "name": "data",
                            "optional": true
                        }
                    ]
                }
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
