{
    "apiVersion": "v1",
    "items": [
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "final-finalizer-dev-y3c3/snapshot-sample-uruh-d499148-stnjj",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "final-finalizer-dev-y3c3/results/a060b733-da19-4804-8c87-8358891ae5da/records/cb1e47bd-2ed4-4321-bbf7-9460a827be5f",
                    "results.tekton.dev/result": "final-finalizer-dev-y3c3/results/a060b733-da19-4804-8c87-8358891ae5da",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "e2e"
                },
                "creationTimestamp": "2026-07-10T11:30:22Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:30:37Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-uruh",
                    "pipelines.appstudio.openshift.io/type": "final",
                    "release.appstudio.openshift.io/name": "snapshot-sample-uruh-d499148-stnjj",
                    "release.appstudio.openshift.io/namespace": "final-finalizer-dev-y3c3",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "simple-pipeline",
                    "tekton.dev/pipelineRun": "final-4bfpm",
                    "tekton.dev/pipelineRunUID": "a060b733-da19-4804-8c87-8358891ae5da",
                    "tekton.dev/pipelineTask": "hello-world"
                },
                "name": "final-4bfpm-hello-world",
                "namespace": "final-finalizer-dev-y3c3",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "final-4bfpm",
                        "uid": "a060b733-da19-4804-8c87-8358891ae5da"
                    }
                ],
                "resourceVersion": "12493",
                "uid": "cb1e47bd-2ed4-4321-bbf7-9460a827be5f"
            },
            "spec": {
                "params": [
                    {
                        "name": "MESSAGE",
                        "value": "hello world"
                    }
                ],
                "serviceAccountName": "final-finalizer-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho $(params.MESSAGE) \n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:30:26Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:30:26Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "final-4bfpm-hello-world-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-07-10T11:30:22Z",
                "steps": [
                    {
                        "container": "step-echo-message",
                        "imageID": "registry.access.redhat.com/ubi9/ubi@sha256:9460515b85f2a75278f2043438583c1c377c44bf100178bb653a6c8658304ac7",
                        "name": "echo-message",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://a607800c6145d41897581f0069ce5bf2828be947cfed838cece36135d026f2e6",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:30:25Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:30:25Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho hello world \n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "final-finalizer-dev-y3c3/snapshot-sample-uruh-d499148-h8nmt",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "final-finalizer-dev-y3c3/results/ccb7df5d-acc5-4b0b-91d3-ea2b898d13dd/records/411d7b27-9c6d-4288-a183-8a651eb68b75",
                    "results.tekton.dev/result": "final-finalizer-dev-y3c3/results/ccb7df5d-acc5-4b0b-91d3-ea2b898d13dd",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "e2e"
                },
                "creationTimestamp": "2026-07-10T11:30:21Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:30:37Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-uruh",
                    "pipelines.appstudio.openshift.io/type": "final",
                    "release.appstudio.openshift.io/name": "snapshot-sample-uruh-d499148-h8nmt",
                    "release.appstudio.openshift.io/namespace": "final-finalizer-dev-y3c3",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "simple-pipeline",
                    "tekton.dev/pipelineRun": "final-4d4j8",
                    "tekton.dev/pipelineRunUID": "ccb7df5d-acc5-4b0b-91d3-ea2b898d13dd",
                    "tekton.dev/pipelineTask": "hello-world"
                },
                "name": "final-4d4j8-hello-world",
                "namespace": "final-finalizer-dev-y3c3",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "final-4d4j8",
                        "uid": "ccb7df5d-acc5-4b0b-91d3-ea2b898d13dd"
                    }
                ],
                "resourceVersion": "12495",
                "uid": "411d7b27-9c6d-4288-a183-8a651eb68b75"
            },
            "spec": {
                "params": [
                    {
                        "name": "MESSAGE",
                        "value": "hello world"
                    }
                ],
                "serviceAccountName": "final-finalizer-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho $(params.MESSAGE) \n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:30:25Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:30:25Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "final-4d4j8-hello-world-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-07-10T11:30:21Z",
                "steps": [
                    {
                        "container": "step-echo-message",
                        "imageID": "registry.access.redhat.com/ubi9/ubi@sha256:9460515b85f2a75278f2043438583c1c377c44bf100178bb653a6c8658304ac7",
                        "name": "echo-message",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://82571e524e2da44bf621419744ca758cc94d14468812f91292123ef0322a9441",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:30:24Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:30:24Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho hello world \n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "final-finalizer-dev-y3c3/snapshot-sample-uruh-d499148-h8nmt",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "final-finalizer-managed-failure/results/505cf4a4-62c0-4f11-a7b1-764913edb667/records/d76dd441-74ac-454b-8b0a-22cb33e97bea",
                    "results.tekton.dev/result": "final-finalizer-managed-failure/results/505cf4a4-62c0-4f11-a7b1-764913edb667",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "e2e, fail"
                },
                "creationTimestamp": "2026-07-10T11:30:15Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:30:38Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-uruh",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "0",
                    "release.appstudio.openshift.io/name": "snapshot-sample-uruh-d499148-h8nmt",
                    "release.appstudio.openshift.io/namespace": "final-finalizer-dev-y3c3",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "failing-pipeline",
                    "tekton.dev/pipelineRun": "managed-slps9",
                    "tekton.dev/pipelineRunUID": "505cf4a4-62c0-4f11-a7b1-764913edb667",
                    "tekton.dev/pipelineTask": "fail-task"
                },
                "name": "managed-slps9-fail-task",
                "namespace": "final-finalizer-managed-failure",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-slps9",
                        "uid": "505cf4a4-62c0-4f11-a7b1-764913edb667"
                    }
                ],
                "resourceVersion": "12549",
                "uid": "d76dd441-74ac-454b-8b0a-22cb33e97bea"
            },
            "spec": {
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "fail",
                            "script": "#!/usr/bin/env sh\n\nexit 1\n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:30:19Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:30:19Z",
                        "message": "\"step-fail\" exited with code 1: Error",
                        "reason": "Failed",
                        "status": "False",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-slps9-fail-task-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-07-10T11:30:15Z",
                "steps": [
                    {
                        "container": "step-fail",
                        "imageID": "registry.access.redhat.com/ubi9/ubi@sha256:9460515b85f2a75278f2043438583c1c377c44bf100178bb653a6c8658304ac7",
                        "name": "fail",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://5f8b4144ce6a5531bd9a50fdd8d18b316da263c620f9c8b1e41c7c7a18610d1f",
                            "exitCode": 1,
                            "finishedAt": "2026-07-10T11:30:18Z",
                            "reason": "Error",
                            "startedAt": "2026-07-10T11:30:18Z"
                        },
                        "terminationReason": "Error"
                    }
                ],
                "taskSpec": {
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "fail",
                            "script": "#!/usr/bin/env sh\n\nexit 1\n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "final-finalizer-dev-y3c3/snapshot-sample-uruh-d499148-stnjj",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "final-finalizer-managed-success/results/ee1b4112-e7bc-4335-a09d-bb000dde2abf/records/c0c3d428-126f-44f9-89e1-b5fe9d816fd0",
                    "results.tekton.dev/result": "final-finalizer-managed-success/results/ee1b4112-e7bc-4335-a09d-bb000dde2abf",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "e2e"
                },
                "creationTimestamp": "2026-07-10T11:30:15Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:30:38Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-uruh",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "0",
                    "release.appstudio.openshift.io/name": "snapshot-sample-uruh-d499148-stnjj",
                    "release.appstudio.openshift.io/namespace": "final-finalizer-dev-y3c3",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "simple-pipeline",
                    "tekton.dev/pipelineRun": "managed-mnr5d",
                    "tekton.dev/pipelineRunUID": "ee1b4112-e7bc-4335-a09d-bb000dde2abf",
                    "tekton.dev/pipelineTask": "hello-world"
                },
                "name": "managed-mnr5d-hello-world",
                "namespace": "final-finalizer-managed-success",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-mnr5d",
                        "uid": "ee1b4112-e7bc-4335-a09d-bb000dde2abf"
                    }
                ],
                "resourceVersion": "12557",
                "uid": "c0c3d428-126f-44f9-89e1-b5fe9d816fd0"
            },
            "spec": {
                "params": [
                    {
                        "name": "MESSAGE",
                        "value": "hello world"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho $(params.MESSAGE) \n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:30:20Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:30:20Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-mnr5d-hello-world-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-07-10T11:30:15Z",
                "steps": [
                    {
                        "container": "step-echo-message",
                        "imageID": "registry.access.redhat.com/ubi9/ubi@sha256:9460515b85f2a75278f2043438583c1c377c44bf100178bb653a6c8658304ac7",
                        "name": "echo-message",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://7b074907b4b35d54565dbd1b7333fd0580be9ed9ddb8e7225d44ec370c886b73",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:30:19Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:30:19Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho hello world \n"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "happy-path-hzpe/snapshot-sample-p6cb-d499148-66cmh",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "happy-path-managed/results/5cefe274-f4b3-4e4c-ba23-227a84983aea/records/f68aafc5-ff92-44af-b127-1f5b9046441e",
                    "results.tekton.dev/result": "happy-path-managed/results/5cefe274-f4b3-4e4c-ba23-227a84983aea",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-07-10T11:27:55Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:29:45Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-p6cb",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "0",
                    "release.appstudio.openshift.io/name": "snapshot-sample-p6cb-d499148-66cmh",
                    "release.appstudio.openshift.io/namespace": "happy-path-hzpe",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "e2e",
                    "tekton.dev/pipelineRun": "managed-cfhk7",
                    "tekton.dev/pipelineRunUID": "5cefe274-f4b3-4e4c-ba23-227a84983aea",
                    "tekton.dev/pipelineTask": "collect-data"
                },
                "name": "managed-cfhk7-collect-data",
                "namespace": "happy-path-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-cfhk7",
                        "uid": "5cefe274-f4b3-4e4c-ba23-227a84983aea"
                    }
                ],
                "resourceVersion": "11023",
                "uid": "f68aafc5-ff92-44af-b127-1f5b9046441e"
            },
            "spec": {
                "params": [
                    {
                        "name": "release",
                        "value": "happy-path-hzpe/snapshot-sample-p6cb-d499148-66cmh"
                    },
                    {
                        "name": "releasePlan",
                        "value": "happy-path-hzpe/source-releaseplan"
                    },
                    {
                        "name": "releasePlanAdmission",
                        "value": "happy-path-managed/demo"
                    },
                    {
                        "name": "releaseServiceConfig",
                        "value": "release-service/release-service-config"
                    },
                    {
                        "name": "snapshot",
                        "value": "happy-path-hzpe/snapshot-sample-p6cb"
                    },
                    {
                        "name": "subdirectory",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea"
                    },
                    {
                        "name": "ociStorage",
                        "value": "quay.io/konflux-ci/release-service-trusted-artifacts"
                    },
                    {
                        "name": "dataDir",
                        "value": "/var/workdir/release"
                    },
                    {
                        "name": "trustedArtifactsDebug",
                        "value": ""
                    },
                    {
                        "name": "taskGitUrl",
                        "value": "https://github.com/konflux-ci/release-service-catalog"
                    },
                    {
                        "name": "taskGitRevision",
                        "value": "development"
                    }
                ],
                "serviceAccountName": "release-service-account",
                "taskRef": {
                    "params": [
                        {
                            "name": "url",
                            "value": "https://github.com/konflux-ci/release-service-catalog"
                        },
                        {
                            "name": "revision",
                            "value": "development"
                        },
                        {
                            "name": "pathInRepo",
                            "value": "tasks/managed/collect-data/collect-data.yaml"
                        }
                    ],
                    "resolver": "git"
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:28:49Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:28:49Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-cfhk7-collect-data-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha1": "55be11e222ba379232bed654efc48e727cfe29f2"
                        },
                        "entryPoint": "tasks/managed/collect-data/collect-data.yaml",
                        "uri": "git+https://github.com/konflux-ci/release-service-catalog"
                    }
                },
                "results": [
                    {
                        "name": "data",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/data.json"
                    },
                    {
                        "name": "release",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/release.json"
                    },
                    {
                        "name": "releasePipelineMetadata",
                        "type": "string",
                        "value": "{\"org\":\"konflux-ci\",\"repo\":\"release-service-catalog\",\"revision\":\"development\",\"pathinrepo\":\"pipelines/managed/e2e/e2e.yaml\",\"sha\":\"55be11e222ba379232bed654efc48e727cfe29f2\"}\n"
                    },
                    {
                        "name": "releasePlan",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan.json"
                    },
                    {
                        "name": "releasePlanAdmission",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json"
                    },
                    {
                        "name": "releaseServiceConfig",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/release_service_config.json"
                    },
                    {
                        "name": "resultsDir",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/results"
                    },
                    {
                        "name": "singleComponentMode",
                        "type": "string",
                        "value": "false"
                    },
                    {
                        "name": "snapshotBuildId",
                        "type": "string",
                        "value": ""
                    },
                    {
                        "name": "snapshotName",
                        "type": "string",
                        "value": "snapshot-sample-p6cb"
                    },
                    {
                        "name": "snapshotNamespace",
                        "type": "string",
                        "value": "happy-path-hzpe"
                    },
                    {
                        "name": "snapshotSpec",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json"
                    },
                    {
                        "name": "subdirectory",
                        "type": "string",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea"
                    },
                    {
                        "name": "sourceDataArtifact",
                        "type": "string",
                        "value": "oci:quay.io/konflux-ci/release-service-trusted-artifacts@sha256:b1c5216af75a4c6ec1308f3ff9ff5fea810d90b0c915de872207c60b52597f30"
                    }
                ],
                "startTime": "2026-07-10T11:27:55Z",
                "steps": [
                    {
                        "container": "step-collect-data",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:440c27f13adab931460a9371df82d3757b77f7ccc1b7604d737e0c78760a95c9",
                        "name": "collect-data",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://1e37313ea9798a37209666fb8d56be9dd8dcd6dda91fed679d1883cb22dbcb8f",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:28:44Z",
                            "message": "[{\"key\":\"data\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/data.json\",\"type\":1},{\"key\":\"release\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release.json\",\"type\":1},{\"key\":\"releasePipelineMetadata\",\"value\":\"{\\\"org\\\":\\\"konflux-ci\\\",\\\"repo\\\":\\\"release-service-catalog\\\",\\\"revision\\\":\\\"development\\\",\\\"pathinrepo\\\":\\\"pipelines/managed/e2e/e2e.yaml\\\",\\\"sha\\\":\\\"55be11e222ba379232bed654efc48e727cfe29f2\\\"}\\n\",\"type\":1},{\"key\":\"releasePlan\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan.json\",\"type\":1},{\"key\":\"releasePlanAdmission\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json\",\"type\":1},{\"key\":\"releaseServiceConfig\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_service_config.json\",\"type\":1},{\"key\":\"resultsDir\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/results\",\"type\":1},{\"key\":\"singleComponentMode\",\"value\":\"false\",\"type\":1},{\"key\":\"snapshotBuildId\",\"value\":\"\",\"type\":1},{\"key\":\"snapshotName\",\"value\":\"snapshot-sample-p6cb\",\"type\":1},{\"key\":\"snapshotNamespace\",\"value\":\"happy-path-hzpe\",\"type\":1},{\"key\":\"snapshotSpec\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json\",\"type\":1},{\"key\":\"subdirectory\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:28:42Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-check-data-key-sources",
                        "imageID": "quay.io/konflux-ci/release-service-utils@sha256:440c27f13adab931460a9371df82d3757b77f7ccc1b7604d737e0c78760a95c9",
                        "name": "check-data-key-sources",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://1c412e3a8989bc0f141cd23ba7c50c33a15d059c19ea8194bdb5baeac07f388c",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:28:45Z",
                            "message": "[{\"key\":\"data\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/data.json\",\"type\":1},{\"key\":\"release\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release.json\",\"type\":1},{\"key\":\"releasePipelineMetadata\",\"value\":\"{\\\"org\\\":\\\"konflux-ci\\\",\\\"repo\\\":\\\"release-service-catalog\\\",\\\"revision\\\":\\\"development\\\",\\\"pathinrepo\\\":\\\"pipelines/managed/e2e/e2e.yaml\\\",\\\"sha\\\":\\\"55be11e222ba379232bed654efc48e727cfe29f2\\\"}\\n\",\"type\":1},{\"key\":\"releasePlan\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan.json\",\"type\":1},{\"key\":\"releasePlanAdmission\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json\",\"type\":1},{\"key\":\"releaseServiceConfig\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_service_config.json\",\"type\":1},{\"key\":\"resultsDir\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/results\",\"type\":1},{\"key\":\"singleComponentMode\",\"value\":\"false\",\"type\":1},{\"key\":\"snapshotBuildId\",\"value\":\"\",\"type\":1},{\"key\":\"snapshotName\",\"value\":\"snapshot-sample-p6cb\",\"type\":1},{\"key\":\"snapshotNamespace\",\"value\":\"happy-path-hzpe\",\"type\":1},{\"key\":\"snapshotSpec\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json\",\"type\":1},{\"key\":\"subdirectory\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:28:44Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-create-trusted-artifact",
                        "imageID": "quay.io/konflux-ci/build-trusted-artifacts@sha256:9bd32f6bafb517b309e11a2d89365052b4ab3f1c9c23c4ffd45aff6f03960476",
                        "name": "create-trusted-artifact",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://a1638fd1dd9354f7829e8840563eb44aba1ce4beba98665372b899a4c10f1729",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:28:49Z",
                            "message": "[{\"key\":\"data\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/data.json\",\"type\":1},{\"key\":\"release\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release.json\",\"type\":1},{\"key\":\"releasePipelineMetadata\",\"value\":\"{\\\"org\\\":\\\"konflux-ci\\\",\\\"repo\\\":\\\"release-service-catalog\\\",\\\"revision\\\":\\\"development\\\",\\\"pathinrepo\\\":\\\"pipelines/managed/e2e/e2e.yaml\\\",\\\"sha\\\":\\\"55be11e222ba379232bed654efc48e727cfe29f2\\\"}\\n\",\"type\":1},{\"key\":\"releasePlan\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan.json\",\"type\":1},{\"key\":\"releasePlanAdmission\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json\",\"type\":1},{\"key\":\"releaseServiceConfig\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_service_config.json\",\"type\":1},{\"key\":\"resultsDir\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/results\",\"type\":1},{\"key\":\"singleComponentMode\",\"value\":\"false\",\"type\":1},{\"key\":\"snapshotBuildId\",\"value\":\"\",\"type\":1},{\"key\":\"snapshotName\",\"value\":\"snapshot-sample-p6cb\",\"type\":1},{\"key\":\"snapshotNamespace\",\"value\":\"happy-path-hzpe\",\"type\":1},{\"key\":\"snapshotSpec\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json\",\"type\":1},{\"key\":\"sourceDataArtifact\",\"value\":\"oci:quay.io/konflux-ci/release-service-trusted-artifacts@sha256:b1c5216af75a4c6ec1308f3ff9ff5fea810d90b0c915de872207c60b52597f30\",\"type\":1},{\"key\":\"subdirectory\",\"value\":\"5cefe274-f4b3-4e4c-ba23-227a84983aea\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:28:46Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "description": "Tekton task to collect the information added to the data field of the release resources.\n\nThe purpose of this task is to collect all the data and supply it to the other task in the pipeline by creating\na json file called `data.json` in the workspace.\n\nThis task also stores the passed resources as json files in a workspace.\n\nThe parameters to this task are lowercase instead of camelCase because they are passed from the operator, and the\noperator passes them as lowercase.\n\nA task result is returned for each resource with the relative path to the stored JSON for it in the workspace.\n\nFinally, the task checks that the keys from the correct resource (a key that should come from the\nReleasePlanAdmission should not be present in the Release data section).",
                    "params": [
                        {
                            "description": "The namespaced name of the Release",
                            "name": "release",
                            "type": "string"
                        },
                        {
                            "description": "The namespaced name of the ReleasePlan",
                            "name": "releasePlan",
                            "type": "string"
                        },
                        {
                            "description": "The namespaced name of the ReleasePlanAdmission",
                            "name": "releasePlanAdmission",
                            "type": "string"
                        },
                        {
                            "description": "The namespaced name of the ReleaseServiceConfig",
                            "name": "releaseServiceConfig",
                            "type": "string"
                        },
                        {
                            "description": "The namespaced name of the Snapshot",
                            "name": "snapshot",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Subdirectory inside the workspace to be used",
                            "name": "subdirectory",
                            "type": "string"
                        },
                        {
                            "default": "empty",
                            "description": "The OCI repository where the Trusted Artifacts are stored",
                            "name": "ociStorage",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "oras options to pass to Trusted Artifacts calls",
                            "name": "orasOptions",
                            "type": "string"
                        },
                        {
                            "default": "1d",
                            "description": "Expiration date for the trusted artifacts created in the OCI repository. An empty string means the artifacts do not expire",
                            "name": "ociArtifactExpiresAfter",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Flag to enable debug logging in trusted artifacts. Set to a non-empty string to enable",
                            "name": "trustedArtifactsDebug",
                            "type": "string"
                        },
                        {
                            "default": "/var/workdir/release",
                            "description": "The location where data will be stored",
                            "name": "dataDir",
                            "type": "string"
                        },
                        {
                            "description": "The url to the git repo where the release-service-catalog tasks and stepactions to be used are stored",
                            "name": "taskGitUrl",
                            "type": "string"
                        },
                        {
                            "description": "The revision in the taskGitUrl repo to be used",
                            "name": "taskGitRevision",
                            "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": "/mnt/trusted-ca/ca-bundle.crt",
                            "description": "Path to CA certificate bundle for TLS verification with self-signed certificates",
                            "name": "caCertPath",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "The relative path in the workspace to the stored release json",
                            "name": "release",
                            "type": "string"
                        },
                        {
                            "description": "The relative path in the workspace to the stored releasePlan json",
                            "name": "releasePlan",
                            "type": "string"
                        },
                        {
                            "description": "The relative path in the workspace to the stored releasePlanAdmission json",
                            "name": "releasePlanAdmission",
                            "type": "string"
                        },
                        {
                            "description": "The relative path in the workspace to the stored releaseServiceConfig json",
                            "name": "releaseServiceConfig",
                            "type": "string"
                        },
                        {
                            "description": "The relative path in the workspace to the stored snapshotSpec json",
                            "name": "snapshotSpec",
                            "type": "string"
                        },
                        {
                            "description": "The relative path in the workspace to the stored data json",
                            "name": "data",
                            "type": "string"
                        },
                        {
                            "description": "The relative path in the workspace to the results directory",
                            "name": "resultsDir",
                            "type": "string"
                        },
                        {
                            "description": "single component mode",
                            "name": "singleComponentMode",
                            "type": "string"
                        },
                        {
                            "description": "name of Snapshot resource",
                            "name": "snapshotName",
                            "type": "string"
                        },
                        {
                            "description": "namespace where Snapshot is located",
                            "name": "snapshotNamespace",
                            "type": "string"
                        },
                        {
                            "description": "Build Id where Snapshot originated",
                            "name": "snapshotBuildId",
                            "type": "string"
                        },
                        {
                            "description": "json object containing git resolver metadata about the running release pipeline",
                            "name": "releasePipelineMetadata",
                            "type": "string"
                        },
                        {
                            "description": "Produced trusted data artifact",
                            "name": "sourceDataArtifact",
                            "type": "string"
                        },
                        {
                            "description": "Subdirectory inside the workspace to be used",
                            "name": "subdirectory",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "IMAGE_EXPIRES_AFTER",
                                "value": "1d"
                            },
                            {
                                "name": "ORAS_OPTIONS"
                            },
                            {
                                "name": "DEBUG"
                            }
                        ],
                        "securityContext": {
                            "runAsUser": 1001
                        },
                        "volumeMounts": [
                            {
                                "mountPath": "/var/workdir",
                                "name": "workdir"
                            },
                            {
                                "mountPath": "/mnt/trusted-ca",
                                "name": "trusted-ca",
                                "readOnly": true
                            }
                        ]
                    },
                    "steps": [
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "64Mi"
                                },
                                "requests": {
                                    "cpu": "50m",
                                    "memory": "64Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "RELEASE",
                                    "value": "happy-path-hzpe/snapshot-sample-p6cb-d499148-66cmh"
                                },
                                {
                                    "name": "RELEASE_PLAN",
                                    "value": "happy-path-hzpe/source-releaseplan"
                                },
                                {
                                    "name": "RELEASE_PLAN_ADMISSION",
                                    "value": "happy-path-managed/demo"
                                },
                                {
                                    "name": "RELEASE_SERVICE_CONFIG",
                                    "value": "release-service/release-service-config"
                                },
                                {
                                    "name": "SNAPSHOT",
                                    "value": "happy-path-hzpe/snapshot-sample-p6cb"
                                }
                            ],
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:440c27f13adab931460a9371df82d3757b77f7ccc1b7604d737e0c78760a95c9",
                            "name": "collect-data",
                            "script": "#!/usr/bin/env bash\nset -eo pipefail\n\nif [ -f \"/mnt/trusted-ca/ca-bundle.crt\" ]; then\n    export SSL_CERT_FILE=\"/mnt/trusted-ca/ca-bundle.crt\"\nfi\n\nset -x\necho -n \"5cefe274-f4b3-4e4c-ba23-227a84983aea\" \u003e \"/tekton/results/subdirectory\"\n\nRESULTS_DIR_PATH=\"results\"\nif [ -n \"5cefe274-f4b3-4e4c-ba23-227a84983aea\" ]; then\n  mkdir -p \"/var/workdir/release/5cefe274-f4b3-4e4c-ba23-227a84983aea\"\n  RESULTS_DIR_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/results\"\nfi\n\nmkdir -p \"/var/workdir/release/$RESULTS_DIR_PATH\"\necho -n \"$RESULTS_DIR_PATH\" \u003e \"/tekton/results/resultsDir\"\n\nRELEASE_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release.json\"\necho -n \"$RELEASE_PATH\" \u003e \"/tekton/results/release\"\nget-resource \"release\" \"${RELEASE}\" | tee \"/var/workdir/release/$RELEASE_PATH\"\n\nRELEASEPLAN_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan.json\"\necho -n \"$RELEASEPLAN_PATH\" \u003e \"/tekton/results/releasePlan\"\nget-resource \"releaseplan\" \"${RELEASE_PLAN}\" | tee \"/var/workdir/release/$RELEASEPLAN_PATH\"\n\nRELEASEPLANADMISSION_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json\"\necho -n \"$RELEASEPLANADMISSION_PATH\" \u003e \"/tekton/results/releasePlanAdmission\"\nget-resource \"releaseplanadmission\" \"${RELEASE_PLAN_ADMISSION}\" \\\n  | tee \"/var/workdir/release/$RELEASEPLANADMISSION_PATH\"\n\nRELEASESERVICECONFIG_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/release_service_config.json\"\necho -n \"$RELEASESERVICECONFIG_PATH\" \u003e \"/tekton/results/releaseServiceConfig\"\nget-resource \"releaseserviceconfig\" \"${RELEASE_SERVICE_CONFIG}\" \\\n  | tee \"/var/workdir/release/$RELEASESERVICECONFIG_PATH\"\n\necho -e \"\\nFetching Snapshot Spec\"\nSNAPSHOTSPEC_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json\"\necho -n \"$SNAPSHOTSPEC_PATH\" \u003e \"/tekton/results/snapshotSpec\"\n# Empty-string componentGroup is treated as unset; fall back to .application, then drop it.\nget-resource \"snapshot\" \"${SNAPSHOT}\" \"{.spec}\" \\\n  | jq '(if (.componentGroup == null or .componentGroup == \"\")\n    then .componentGroup = .application else . end)\n    | del(.application)' \\\n  | tee \"/var/workdir/release/$SNAPSHOTSPEC_PATH\"\nlabels=$(get-resource \"snapshot\" \"${SNAPSHOT}\" \"{.metadata.labels}\")\nBUILD_ID=$(jq -r '.\"appstudio.openshift.io/build-pipelinerun\" // \"\"' \u003c\u003c\u003c \"${labels}\")\necho -n \"${BUILD_ID}\" | tee \"/tekton/results/snapshotBuildId\"\n\necho -e \"\\nGenerating collectors data\"\ncollectors_status=$(get-resource \"release\" \"${RELEASE}\" \"{.status.collectors}\")\necho \"***collectors status\"\necho \"${collectors_status}\"\necho \"***\"\n\ncollectors_result=$(jq -c '\n  def deepmerge(a; b):\n    reduce b[] as $item (a;\n    reduce ($item | keys_unsorted[]) as $key (.;\n    $item[$key] as $val | ($val | type) as $type | .[$key] = if ($type == \"object\") then\n    deepmerge({}; [if .[$key] == null then {} else .[$key] end, $val])\n    elif ($type == \"array\") then\n    (.[$key] + $val | unique)\n    else\n    $val\n    end)\n    );\n\n  # Ensure we safely handle missing collectors\n  (.? // {}) as $collectors |\n\n  # Flatten and combine the managed and tenant sections\n  [($collectors.managed? // {} | to_entries | map(.value)) +\n   ($collectors.tenant? // {} | to_entries | map(.value))] |\n   flatten |\n   deepmerge({}; .)\n' \u003c\u003c\u003c \"${collectors_status}\")\necho \"***collectors\"\njq \u003c\u003c\u003c \"$collectors_result\"\necho \"***\"\n\necho -e \"\\nFetching merged data json\"\nrelease_result=$(get-resource \"release\" \"${RELEASE}\" \"{.spec.data}\")\n\nrelease_plan_result=$(get-resource \"releaseplan\" \"${RELEASE_PLAN}\" \"{.spec.data}\")\n\nrelease_plan_admission_result=$(get-resource \"releaseplanadmission\" \"${RELEASE_PLAN_ADMISSION}\" \\\n    \"{.spec.data}\")\n\n# Merge collectors and Release keys. Release has higher priority\nmerged_output=$(merge-json \"$collectors_result\" \"$release_result\")\n\n# Merge now with ReleasePlan keys. ReleasePlan has higher priority\nmerged_output=$(merge-json \"$merged_output\" \"$release_plan_result\")\n\n# Finally merge with ReleasePlanAdmission keys. ReleasePlanAdmission has higher priority\nmerged_output=$(merge-json \"$merged_output\" \"$release_plan_admission_result\")\n\nDATA_PATH=\"5cefe274-f4b3-4e4c-ba23-227a84983aea/data.json\"\necho -n \"$DATA_PATH\" \u003e \"/tekton/results/data\"\necho \"$merged_output\" | tee \"/var/workdir/release/$DATA_PATH\"\n\n# get pipeline ref info\npipelineref=$(jq -c '.spec.pipeline.pipelineRef' \\\n  \"/var/workdir/release/5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json\")\nresolver=$(jq -r '.resolver // \"\"' \u003c\u003c\u003c \"${pipelineref}\")\nif [ \"${resolver}\" == \"git\" ] ; then\n  url=$(jq -r '.params[] | select(.name==\"url\") | .value' \u003c\u003c\u003c \"${pipelineref}\")\n  revision=$(jq -r '.params[] | select(.name==\"revision\") | .value' \u003c\u003c\u003c \"${pipelineref}\")\n  pathinrepo=$(jq -r '.params[] | select(.name==\"pathInRepo\") | .value' \u003c\u003c\u003c \"${pipelineref}\")\n  orgrepo=\"${url#*/*/*/}\"\n  org=$(echo \"${orgrepo}\" | cut -f1 -d/)\n  repo=$(echo \"${orgrepo}\" | cut -f2 -d/ | cut -d. -f1)\n\n  sha=$(curl -s \"https://api.github.com/repos/${org}/${repo}/commits/${revision}\" | jq -r '.sha // \"\"')\n\nfi\n\norg=\"${org:-unknown}\"\nrepo=\"${repo:-unknown}\"\nrevision=\"${revision:-unknown}\"\npathinrepo=\"${pathinrepo:-unknown}\"\nsha=\"${sha:-unknown}\"\n\necho \"\"\necho \"Release Pipeline Ref Info:\"\necho \"--------------------------\"\n\njson=$(jq -n -c \\\n  --arg org \"${org}\" \\\n  --arg repo \"${repo}\" \\\n  --arg revision \"${revision}\" \\\n  --arg pathinrepo \"${pathinrepo}\" \\\n  --arg sha \"${sha}\" \\\n  '$ARGS.named')\n\necho \"${json}\" \u003e \"/tekton/results/releasePipelineMetadata\"\n# pretty print for log message\njq . \u003c\u003c\u003c \"$json\"\n\nSINGLE_COMPONENT_MODE=$(jq -r '.singleComponentMode // \"false\"' \"/var/workdir/release/$DATA_PATH\")\nSNAPSHOT_NAME=$(echo \"${SNAPSHOT}\" | cut -f2 -d/)\nSNAPSHOT_NAMESPACE=$(echo \"${SNAPSHOT}\" | cut -f1 -d/)\n\necho -n \"${SINGLE_COMPONENT_MODE}\" | tee \"/tekton/results/singleComponentMode\"\necho -n \"${SNAPSHOT_NAME}\" | tee \"/tekton/results/snapshotName\"\necho -n \"${SNAPSHOT_NAMESPACE}\" | tee \"/tekton/results/snapshotNamespace\"\n"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "32Mi"
                                },
                                "requests": {
                                    "cpu": "10m",
                                    "memory": "32Mi"
                                }
                            },
                            "image": "quay.io/konflux-ci/release-service-utils@sha256:440c27f13adab931460a9371df82d3757b77f7ccc1b7604d737e0c78760a95c9",
                            "name": "check-data-key-sources",
                            "script": "#!/usr/bin/env bash\nset -ex\n\nDISALLOWED_KEYS_JSON='{\n    \"Release\": [\n        \"releaseNotes.product_id\",\n        \"releaseNotes.product_name\",\n        \"releaseNotes.product_version\",\n        \"releaseNotes.product_stream\",\n        \"releaseNotes.cpe\",\n        \"releaseNotes.allow_custom_live_id\"\n    ],\n    \"ReleasePlan\": [\n        \"releaseNotes.product_id\",\n        \"releaseNotes.product_name\",\n        \"releaseNotes.product_version\",\n        \"releaseNotes.product_stream\",\n        \"releaseNotes.cpe\",\n        \"releaseNotes.allow_custom_live_id\"\n    ],\n    \"ReleasePlanAdmission\": [\n    ]\n}'\n\nRC=0\n\ncheck_source () { # Expected arguments are [CRD from DISALLOWED_KEYS_JSON, file]\n    for KEY in $(jq -r \".$1[]\" \u003c\u003c\u003c \"$DISALLOWED_KEYS_JSON\") ; do\n        if [[ $(jq \".spec.data.$KEY\" \"$2\") != \"null\" ]] ; then\n            echo \"Found disallowed key: $KEY in resource $1\"\n            RC=1\n        fi\n    done\n}\n\ncheck_source \"Release\" \"/var/workdir/release/5cefe274-f4b3-4e4c-ba23-227a84983aea/release.json\"\ncheck_source \"ReleasePlan\" \"/var/workdir/release/5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan.json\"\ncheck_source \"ReleasePlanAdmission\" \\\n    \"/var/workdir/release/5cefe274-f4b3-4e4c-ba23-227a84983aea/release_plan_admission.json\"\n\nexit $RC\n"
                        },
                        {
                            "args": [
                                "create",
                                "--store",
                                "quay.io/konflux-ci/release-service-trusted-artifacts",
                                "/tekton/results/sourceDataArtifact=/var/workdir/release"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "128Mi"
                                },
                                "requests": {
                                    "cpu": "250m",
                                    "memory": "128Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "HOME",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "ORAS_OPTIONS"
                                },
                                {
                                    "name": "CA_FILE",
                                    "value": "/mnt/trusted-ca/ca-bundle.crt"
                                }
                            ],
                            "image": "quay.io/konflux-ci/build-trusted-artifacts@sha256:9bd32f6bafb517b309e11a2d89365052b4ab3f1c9c23c4ffd45aff6f03960476",
                            "name": "create-trusted-artifact"
                        }
                    ],
                    "volumes": [
                        {
                            "emptyDir": {},
                            "name": "workdir"
                        },
                        {
                            "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",
                    "operator-sdk/primary-resource": "happy-path-hzpe/snapshot-sample-p6cb-d499148-66cmh",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "happy-path-managed/results/5cefe274-f4b3-4e4c-ba23-227a84983aea/records/e906e713-f535-45c0-ac4c-ccdcb7ba6ab6",
                    "results.tekton.dev/result": "happy-path-managed/results/5cefe274-f4b3-4e4c-ba23-227a84983aea",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/displayName": "Verify Conforma in Konflux",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "release"
                },
                "creationTimestamp": "2026-07-10T11:28:49Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:29:45Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-p6cb",
                    "pipelines.appstudio.openshift.io/type": "managed",
                    "release.appstudio.openshift.io/attempt": "0",
                    "release.appstudio.openshift.io/name": "snapshot-sample-p6cb-d499148-66cmh",
                    "release.appstudio.openshift.io/namespace": "happy-path-hzpe",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "e2e",
                    "tekton.dev/pipelineRun": "managed-cfhk7",
                    "tekton.dev/pipelineRunUID": "5cefe274-f4b3-4e4c-ba23-227a84983aea",
                    "tekton.dev/pipelineTask": "verify-conforma",
                    "tekton.dev/task": "verify-conforma-konflux-ta"
                },
                "name": "managed-cfhk7-verify-conforma",
                "namespace": "happy-path-managed",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "managed-cfhk7",
                        "uid": "5cefe274-f4b3-4e4c-ba23-227a84983aea"
                    }
                ],
                "resourceVersion": "11025",
                "uid": "e906e713-f535-45c0-ac4c-ccdcb7ba6ab6"
            },
            "spec": {
                "params": [
                    {
                        "name": "SNAPSHOT_FILENAME",
                        "value": "5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json"
                    },
                    {
                        "name": "SSL_CERT_DIR",
                        "value": "/var/run/secrets/kubernetes.io/serviceaccount"
                    },
                    {
                        "name": "POLICY_CONFIGURATION",
                        "value": "{\"description\":\"Red Hat's enterprise requirements\",\"sources\":[{\"name\":\"Default\",\"policy\":[\"oci::quay.io/conforma/release-policy:konflux@sha256:6eb386faaf76de0d7dbc9f9e770a7f5639ebcee88e4ed4f004f8053189b21eae\"],\"data\":[\"oci::quay.io/konflux-ci/tekton-catalog/data-acceptable-bundles:latest@sha256:7612aa06e24e5d8d304e97fd2bde931a6f052f0c1761b766cbcdb20f076c0502\",\"github.com/release-engineering/rhtap-ec-policy.git//data?ref=acaef210b5ddca7a87854b5141556c30efdc2afc\"],\"config\":{\"include\":[\"@slsa3\"]}}],\"configuration\":{\"exclude\":[\"step_image_registries\",\"tasks.required_tasks_found:prefetch-dependencies\"],\"collections\":[\"@slsa3\"]},\"publicKey\":\"k8s://happy-path-managed/cosign-public-key\"}"
                    },
                    {
                        "name": "STRICT",
                        "value": "true"
                    },
                    {
                        "name": "IGNORE_REKOR",
                        "value": "true"
                    },
                    {
                        "name": "EXTRA_RULE_DATA",
                        "value": "pipeline_intention=release"
                    },
                    {
                        "name": "SOURCE_DATA_ARTIFACT",
                        "value": "oci:quay.io/konflux-ci/release-service-trusted-artifacts@sha256:b1c5216af75a4c6ec1308f3ff9ff5fea810d90b0c915de872207c60b52597f30"
                    },
                    {
                        "name": "TRUSTED_ARTIFACTS_DEBUG",
                        "value": ""
                    }
                ],
                "retries": 2,
                "serviceAccountName": "release-service-account",
                "taskRef": {
                    "params": [
                        {
                            "name": "url",
                            "value": "https://github.com/conforma/tekton-catalog"
                        },
                        {
                            "name": "revision",
                            "value": "2c1963225e8563194a8dce7f659c71bd866da426"
                        },
                        {
                            "name": "pathInRepo",
                            "value": "tasks/verify-conforma-konflux-ta/0.1/verify-conforma-konflux-ta.yaml"
                        }
                    ],
                    "resolver": "git"
                },
                "timeout": "4h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:29:37Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:29:37Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "managed-cfhk7-verify-conforma-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    },
                    "refSource": {
                        "digest": {
                            "sha1": "2c1963225e8563194a8dce7f659c71bd866da426"
                        },
                        "entryPoint": "tasks/verify-conforma-konflux-ta/0.1/verify-conforma-konflux-ta.yaml",
                        "uri": "git+https://github.com/conforma/tekton-catalog"
                    }
                },
                "results": [
                    {
                        "name": "TEST_OUTPUT",
                        "type": "string",
                        "value": "{\"timestamp\":\"1783682974\",\"namespace\":\"\",\"successes\":22,\"failures\":0,\"warnings\":0,\"result\":\"SUCCESS\"}\n"
                    },
                    {
                        "name": "VSA_GENERATED",
                        "type": "string",
                        "value": "false"
                    }
                ],
                "startTime": "2026-07-10T11:28:49Z",
                "steps": [
                    {
                        "container": "step-use-trusted-artifact",
                        "imageID": "quay.io/konflux-ci/build-trusted-artifacts@sha256:9bd32f6bafb517b309e11a2d89365052b4ab3f1c9c23c4ffd45aff6f03960476",
                        "name": "use-trusted-artifact",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://276cd2f346e0235789b0c6b6c416ae102ddea70181444c403c2f64081d5f7187",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:12Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:10Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-initialize-tuf",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "initialize-tuf",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://069d535d041cd88af7067bb2a45d9eb85ac9b5eb0f83e372406a0dc96586bcea",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:13Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:12Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-reduce",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "reduce",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://0af768102de80bb6e37df95409a203c6566eba22725aea54171764e2825c39de",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:13Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:13Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-pin-policy-bundle",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "pin-policy-bundle",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://147c15fc71aecd6f1aa1a6d284d667434b524787a126198c3a50f9b21494df9b",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:13Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:13Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-validate",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "validate",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://092ad66fb44887eeea0a8dfc66e4fcaf15fa6cbdb5079cef5d17c03f11c1bff7",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:34Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:14Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-report-json",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "report-json",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://d44b5e283f386c433d3a336c3c60e09ecae096508d2e7b2c7deb1d53ba656119",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-summary",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "summary",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://84ade2359a1d0979b9b9d09574b0162c829952dd6caff89c527042fed9c92fcb",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-version",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "version",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://c2b9516a248e0b361d0925d983445f46e2a491251a1fdd2b73bd095dadbf0681",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:35Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:35Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-show-config",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "show-config",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://f89ebfef92699e70d4c3f98b11f80123ba0648d4d559134e652ccf7e74e5a8fc",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:36Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:36Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-detailed-report",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "detailed-report",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://169e9e502fda7ca5fbbf4e40960bce39206a43836bcf31639719ca91ab14e7cf",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:36Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:36Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-assert",
                        "imageID": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                        "name": "assert",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://6c88b461b9b9a9bfedadca571683e204565027ab631a36ebd168383b1c70f0c2",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:36Z",
                            "message": "[{\"key\":\"TEST_OUTPUT\",\"value\":\"{\\\"timestamp\\\":\\\"1783682974\\\",\\\"namespace\\\":\\\"\\\",\\\"successes\\\":22,\\\"failures\\\":0,\\\"warnings\\\":0,\\\"result\\\":\\\"SUCCESS\\\"}\\n\",\"type\":1},{\"key\":\"VSA_GENERATED\",\"value\":\"false\",\"type\":1}]",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:36Z"
                        },
                        "terminationReason": "Completed"
                    },
                    {
                        "container": "step-create-trusted-artifact",
                        "imageID": "quay.io/konflux-ci/build-trusted-artifacts@sha256:9bd32f6bafb517b309e11a2d89365052b4ab3f1c9c23c4ffd45aff6f03960476",
                        "name": "create-trusted-artifact",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://e153baeffad9e71ffc251127c4157b93679b1e0567974eb4fa36dad603fc30b6",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:36Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:36Z"
                        },
                        "terminationReason": "Skipped"
                    }
                ],
                "taskSpec": {
                    "description": "Verify the Conforma policy is met",
                    "params": [
                        {
                            "description": "The filename of the `Snapshot` that is located within the trusted artifact\n",
                            "name": "SNAPSHOT_FILENAME",
                            "type": "string"
                        },
                        {
                            "description": "Trusted Artifact to use to obtain the Snapshot to validate.\n",
                            "name": "SOURCE_DATA_ARTIFACT",
                            "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": "sha256:6f4d4b9bf0a4f5ca7768ef7c47c56c4b324ca4b1f8f5162b04b341fdb562f17a",
                            "description": "Optional OCI digest to pin the release policy bundle. When provided, the policy configuration is resolved and the reference oci::quay.io/conforma/release-policy:konflux is replaced with oci::quay.io/conforma/release-policy@\u003cdigest\u003e. Accepts a full digest (sha256:abc123...) or just the hex hash (abc123...).",
                            "name": "POLICY_BUNDLE_DIGEST",
                            "type": "string"
                        },
                        {
                            "default": "4",
                            "description": "Number of parallel workers to use for policy evaluation.\n",
                            "name": "WORKERS",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Use the OPA evaluator instead of the default conftest evaluator. Set to \"1\" to enable.",
                            "name": "EC_USE_OPA",
                            "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": "",
                            "description": "oras options to pass to Trusted Artifacts calls",
                            "name": "ORAS_OPTIONS",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Flag to enable debug logging in trusted artifacts. Set to a non-empty string to enable.",
                            "name": "TRUSTED_ARTIFACTS_DEBUG",
                            "type": "string"
                        },
                        {
                            "default": "/var/workdir/conforma",
                            "description": "Directory to use to extract trusted artifact archive.",
                            "name": "TRUSTED_ARTIFACTS_EXTRACT_DIR",
                            "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"
                        },
                        {
                            "default": "false",
                            "description": "Enable VSA generation",
                            "name": "ENABLE_VSA",
                            "type": "string"
                        },
                        {
                            "default": "dsse",
                            "description": "Attestation format: dsse (signed envelope) or predicate (raw JSON)",
                            "name": "ATTESTATION_FORMAT",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "Signing key for format=dsse (k8s:// or file:// URL)",
                            "name": "VSA_SIGNING_KEY",
                            "type": "string"
                        },
                        {
                            "default": "local@/var/workdir/conforma/vsa",
                            "description": "VSA upload destination",
                            "name": "VSA_UPLOAD",
                            "type": "string"
                        },
                        {
                            "default": "",
                            "description": "OCI storage URL for trusted artifacts",
                            "name": "ociStorage",
                            "type": "string"
                        }
                    ],
                    "results": [
                        {
                            "description": "Short summary of the policy evaluation for each image",
                            "name": "TEST_OUTPUT",
                            "type": "string"
                        },
                        {
                            "description": "Whether VSAs were generated (true/false)",
                            "name": "VSA_GENERATED",
                            "type": "string"
                        },
                        {
                            "description": "Trusted Artifact URI containing VSA files",
                            "name": "sourceDataArtifact",
                            "type": "string"
                        }
                    ],
                    "stepTemplate": {
                        "computeResources": {},
                        "env": [
                            {
                                "name": "ORAS_OPTIONS"
                            },
                            {
                                "name": "DEBUG"
                            },
                            {
                                "name": "HOME",
                                "value": "/tekton/home"
                            }
                        ],
                        "securityContext": {
                            "runAsUser": 1001
                        },
                        "volumeMounts": [
                            {
                                "mountPath": "/var/workdir",
                                "name": "workdir"
                            },
                            {
                                "mountPath": "/mnt/trusted-ca",
                                "name": "trusted-ca",
                                "readOnly": true
                            }
                        ]
                    },
                    "steps": [
                        {
                            "args": [
                                "use",
                                "oci:quay.io/konflux-ci/release-service-trusted-artifacts@sha256:b1c5216af75a4c6ec1308f3ff9ff5fea810d90b0c915de872207c60b52597f30=/var/workdir/conforma"
                            ],
                            "computeResources": {},
                            "env": [
                                {
                                    "name": "CA_FILE",
                                    "value": "/mnt/trusted-ca/ca-bundle.crt"
                                }
                            ],
                            "image": "quay.io/konflux-ci/build-trusted-artifacts@sha256:9bd32f6bafb517b309e11a2d89365052b4ab3f1c9c23c4ffd45aff6f03960476",
                            "name": "use-trusted-artifact"
                        },
                        {
                            "computeResources": {},
                            "env": [
                                {
                                    "name": "TUF_MIRROR"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "initialize-tuf",
                            "script": "set -euo pipefail\n\nif [[ -z \"${TUF_MIRROR:-}\" ]]; then\n    echo 'TUF_MIRROR parameter not provided. Skipping TUF root initialization.'\n    exit\nfi\n\necho 'Initializing TUF root...'\nec sigstore initialize --mirror \"${TUF_MIRROR}\" --root \"${TUF_MIRROR}/root.json\"\necho 'Done!'"
                        },
                        {
                            "command": [
                                "reduce-snapshot.sh"
                            ],
                            "computeResources": {},
                            "env": [
                                {
                                    "name": "SNAPSHOT",
                                    "value": "/var/workdir/conforma/5cefe274-f4b3-4e4c-ba23-227a84983aea/snapshot_spec.json"
                                },
                                {
                                    "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:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "reduce",
                            "onError": "continue"
                        },
                        {
                            "command": [
                                "pin-konflux-policy-bundle.sh"
                            ],
                            "computeResources": {},
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "{\"description\":\"Red Hat's enterprise requirements\",\"sources\":[{\"name\":\"Default\",\"policy\":[\"oci::quay.io/conforma/release-policy:konflux@sha256:6eb386faaf76de0d7dbc9f9e770a7f5639ebcee88e4ed4f004f8053189b21eae\"],\"data\":[\"oci::quay.io/konflux-ci/tekton-catalog/data-acceptable-bundles:latest@sha256:7612aa06e24e5d8d304e97fd2bde931a6f052f0c1761b766cbcdb20f076c0502\",\"github.com/release-engineering/rhtap-ec-policy.git//data?ref=acaef210b5ddca7a87854b5141556c30efdc2afc\"],\"config\":{\"include\":[\"@slsa3\"]}}],\"configuration\":{\"exclude\":[\"step_image_registries\",\"tasks.required_tasks_found:prefetch-dependencies\"],\"collections\":[\"@slsa3\"]},\"publicKey\":\"k8s://happy-path-managed/cosign-public-key\"}"
                                },
                                {
                                    "name": "POLICY_BUNDLE_DIGEST",
                                    "value": "sha256:6f4d4b9bf0a4f5ca7768ef7c47c56c4b324ca4b1f8f5162b04b341fdb562f17a"
                                }
                            ],
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "pin-policy-bundle",
                            "onError": "continue"
                        },
                        {
                            "computeResources": {
                                "limits": {
                                    "memory": "2Gi"
                                },
                                "requests": {
                                    "cpu": "250m",
                                    "memory": "2Gi"
                                }
                            },
                            "env": [
                                {
                                    "name": "POLICY_CONFIGURATION",
                                    "value": "{\"description\":\"Red Hat's enterprise requirements\",\"sources\":[{\"name\":\"Default\",\"policy\":[\"oci::quay.io/conforma/release-policy:konflux@sha256:6eb386faaf76de0d7dbc9f9e770a7f5639ebcee88e4ed4f004f8053189b21eae\"],\"data\":[\"oci::quay.io/konflux-ci/tekton-catalog/data-acceptable-bundles:latest@sha256:7612aa06e24e5d8d304e97fd2bde931a6f052f0c1761b766cbcdb20f076c0502\",\"github.com/release-engineering/rhtap-ec-policy.git//data?ref=acaef210b5ddca7a87854b5141556c30efdc2afc\"],\"config\":{\"include\":[\"@slsa3\"]}}],\"configuration\":{\"exclude\":[\"step_image_registries\",\"tasks.required_tasks_found:prefetch-dependencies\"],\"collections\":[\"@slsa3\"]},\"publicKey\":\"k8s://happy-path-managed/cosign-public-key\"}"
                                },
                                {
                                    "name": "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": "4"
                                },
                                {
                                    "name": "INFO",
                                    "value": "true"
                                },
                                {
                                    "name": "EFFECTIVE_TIME",
                                    "value": "now"
                                },
                                {
                                    "name": "EXTRA_RULE_DATA",
                                    "value": "pipeline_intention=release"
                                },
                                {
                                    "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": "ENABLE_VSA",
                                    "value": "false"
                                },
                                {
                                    "name": "ATTESTATION_FORMAT",
                                    "value": "dsse"
                                },
                                {
                                    "name": "VSA_SIGNING_KEY"
                                },
                                {
                                    "name": "VSA_UPLOAD",
                                    "value": "local@/var/workdir/conforma/vsa"
                                },
                                {
                                    "name": "EC_USE_OPA"
                                },
                                {
                                    "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:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "validate",
                            "onError": "continue",
                            "script": "#!/bin/bash\nset -euo pipefail\n\nif [ -f \"/mnt/trusted-ca/ca-bundle.crt\" ]; then\n    export SSL_CERT_FILE=\"/mnt/trusted-ca/ca-bundle.crt\"\nfi\n\n# Use policy override file if pin-policy-bundle produced one\nif [[ -f \"${HOMEDIR}/policy-with-pinned-bundle.yaml\" ]]; then\n  POLICY_CONFIGURATION=\"${HOMEDIR}/policy-with-pinned-bundle.yaml\"\nfi\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# Add VSA arguments if enabled\nif [[ \"${ENABLE_VSA}\" == \"true\" ]]; then\n  cmd_args+=(\n    --vsa=\"true\"\n    --attestation-format=\"${ATTESTATION_FORMAT}\"\n  )\n\n\n  if [[ \"${ATTESTATION_FORMAT}\" == \"dsse\" ]]; then\n    if [[ -z \"${VSA_SIGNING_KEY}\" ]]; then\n      echo \"ERROR: VSA_SIGNING_KEY required for format=dsse\" \u003e\u00262\n      exit 1\n    fi\n    cmd_args+=(\n      --vsa-signing-key=\"${VSA_SIGNING_KEY}\"\n      --vsa-upload=\"${VSA_UPLOAD}\"\n    )\n  fi\n\n  # ec requires --attestation-output-dir to be under /tmp or cwd.\n  # Write there first, then copy to the workdir so\n  # create-trusted-artifact includes them in the archive.\n  VSA_TMP_DIR=\"/tmp/vsa-output\"\n  mkdir -p \"$VSA_TMP_DIR\"\n  cmd_args+=(\n    --attestation-output-dir=\"$VSA_TMP_DIR\"\n  )\n\n  echo -n \"true\" \u003e /tekton/results/VSA_GENERATED\nelse\n  echo -n \"false\" \u003e /tekton/results/VSA_GENERATED\nfi\n\n# Execute Conforma with constructed arguments\nec \"${cmd_args[@]}\"\n\n# Copy VSA output from /tmp to workdir for trusted artifact archival\nif [[ \"${ENABLE_VSA}\" == \"true\" ]]; then\n  # Extract local path from VSA_UPLOAD for output directory\n  # VSA_UPLOAD format is \"local@/path/to/dir\"\n  # Fixme: Because of -o pipefail this will fail the whole task when the grep doesn't match\n  VSA_LOCAL_PATH=$(echo \"${VSA_UPLOAD}\" | grep -oE '^local@[^ ]+' | sed 's/^local@//' | head -n1 || true)\n  if [[ -n \"$VSA_LOCAL_PATH\" \u0026\u0026 -d \"/tmp/vsa-output\" ]]; then\n    mkdir -p \"$VSA_LOCAL_PATH\"\n    cp -r /tmp/vsa-output/* \"$VSA_LOCAL_PATH\"/ 2\u003e/dev/null || true\n    # Include raw JSON report for downstream SLSA VSA generation\n    cp \"${HOMEDIR}/report-json.json\" \"$VSA_LOCAL_PATH\"/ 2\u003e/dev/null || true\n  fi\nfi\n"
                        },
                        {
                            "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": {},
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "report-json",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                ".",
                                "/tekton/results/TEST_OUTPUT"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "summary",
                            "onError": "continue"
                        },
                        {
                            "args": [
                                "version"
                            ],
                            "command": [
                                "ec"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "version"
                        },
                        {
                            "args": [
                                "{policy: .policy, key: .key, \"effective-time\": .[\"effective-time\"]}",
                                "/tekton/home/report-json.json"
                            ],
                            "command": [
                                "jq"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "show-config"
                        },
                        {
                            "args": [
                                "/tekton/home/text-report.txt"
                            ],
                            "command": [
                                "cat"
                            ],
                            "computeResources": {},
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "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": {},
                            "image": "quay.io/conforma/cli@sha256:1e2ed4e265b9881385dd57e4770ff1a9d21ca79bf72bff810e4dbd37e884df9c",
                            "name": "assert"
                        },
                        {
                            "args": [
                                "create",
                                "--store",
                                "",
                                "/tekton/results/sourceDataArtifact=/var/workdir/conforma"
                            ],
                            "computeResources": {
                                "limits": {
                                    "memory": "128Mi"
                                },
                                "requests": {
                                    "cpu": "250m",
                                    "memory": "128Mi"
                                }
                            },
                            "env": [
                                {
                                    "name": "HOME",
                                    "value": "/tekton/home"
                                },
                                {
                                    "name": "ORAS_OPTIONS"
                                },
                                {
                                    "name": "CA_FILE",
                                    "value": "/mnt/trusted-ca/ca-bundle.crt"
                                }
                            ],
                            "image": "quay.io/konflux-ci/build-trusted-artifacts@sha256:9bd32f6bafb517b309e11a2d89365052b4ab3f1c9c23c4ffd45aff6f03960476",
                            "name": "create-trusted-artifact",
                            "when": [
                                {
                                    "input": "false",
                                    "operator": "in",
                                    "values": [
                                        "true"
                                    ]
                                },
                                {
                                    "operator": "notin",
                                    "values": [
                                        "",
                                        "empty"
                                    ]
                                }
                            ]
                        }
                    ],
                    "volumes": [
                        {
                            "configMap": {
                                "items": [
                                    {
                                        "key": "ca-bundle.crt",
                                        "path": "ca-bundle.crt"
                                    }
                                ],
                                "name": "trusted-ca",
                                "optional": true
                            },
                            "name": "trusted-ca"
                        },
                        {
                            "emptyDir": {},
                            "name": "workdir"
                        }
                    ]
                }
            }
        },
        {
            "apiVersion": "tekton.dev/v1",
            "kind": "TaskRun",
            "metadata": {
                "annotations": {
                    "chains.tekton.dev/signed": "true",
                    "operator-sdk/primary-resource": "tenant-dev-q90d/snapshot-sample-k6q2-d499148-lth22",
                    "operator-sdk/primary-resource-type": "Release.appstudio.redhat.com",
                    "pac.test.appstudio.openshift.io/sha": "d49914874789147eb2de9bb6a12cd5d150bfff92",
                    "pac.test.appstudio.openshift.io/url-repository": "https://github.com/redhat-appstudio-qe/dc-metro-map-release",
                    "pipeline.tekton.dev/release": "9db88e0",
                    "results.tekton.dev/childReadyForDeletion": "true",
                    "results.tekton.dev/record": "tenant-dev-q90d/results/a3e3df96-f1a0-451d-a1cd-6fb598ec2ba3/records/39682ecf-7a73-4d61-ba98-529682e60a55",
                    "results.tekton.dev/result": "tenant-dev-q90d/results/a3e3df96-f1a0-451d-a1cd-6fb598ec2ba3",
                    "results.tekton.dev/stored": "true",
                    "tekton.dev/pipelines.minVersion": "0.12.1",
                    "tekton.dev/tags": "e2e"
                },
                "creationTimestamp": "2026-07-10T11:29:43Z",
                "deletionGracePeriodSeconds": 0,
                "deletionTimestamp": "2026-07-10T11:30:08Z",
                "finalizers": [
                    "results.tekton.dev/taskrun"
                ],
                "generation": 2,
                "labels": {
                    "app.kubernetes.io/managed-by": "tekton-pipelines",
                    "app.kubernetes.io/version": "0.1",
                    "appstudio.openshift.io/application": "appstudio",
                    "appstudio.openshift.io/service": "release",
                    "appstudio.openshift.io/snapshot": "snapshot-sample-k6q2",
                    "pipelines.appstudio.openshift.io/type": "tenant",
                    "release.appstudio.openshift.io/name": "snapshot-sample-k6q2-d499148-lth22",
                    "release.appstudio.openshift.io/namespace": "tenant-dev-q90d",
                    "tekton.dev/memberOf": "tasks",
                    "tekton.dev/pipeline": "simple-pipeline",
                    "tekton.dev/pipelineRun": "tenant-pznrt",
                    "tekton.dev/pipelineRunUID": "a3e3df96-f1a0-451d-a1cd-6fb598ec2ba3",
                    "tekton.dev/pipelineTask": "hello-world"
                },
                "name": "tenant-pznrt-hello-world",
                "namespace": "tenant-dev-q90d",
                "ownerReferences": [
                    {
                        "apiVersion": "tekton.dev/v1",
                        "blockOwnerDeletion": true,
                        "controller": true,
                        "kind": "PipelineRun",
                        "name": "tenant-pznrt",
                        "uid": "a3e3df96-f1a0-451d-a1cd-6fb598ec2ba3"
                    }
                ],
                "resourceVersion": "11543",
                "uid": "39682ecf-7a73-4d61-ba98-529682e60a55"
            },
            "spec": {
                "params": [
                    {
                        "name": "MESSAGE",
                        "value": "hello world"
                    }
                ],
                "serviceAccountName": "tenant-service-account",
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho $(params.MESSAGE) \n"
                        }
                    ]
                },
                "timeout": "1h0m0s"
            },
            "status": {
                "artifacts": {},
                "completionTime": "2026-07-10T11:29:57Z",
                "conditions": [
                    {
                        "lastTransitionTime": "2026-07-10T11:29:57Z",
                        "message": "All Steps have completed executing",
                        "reason": "Succeeded",
                        "status": "True",
                        "type": "Succeeded"
                    }
                ],
                "podName": "tenant-pznrt-hello-world-pod",
                "provenance": {
                    "featureFlags": {
                        "awaitSidecarReadiness": true,
                        "coschedule": "workspaces",
                        "enableAPIFields": "beta",
                        "enableProvenanceInStatus": true,
                        "enforceNonfalsifiability": "none",
                        "maxResultSize": 4096,
                        "resultExtractionMethod": "termination-message",
                        "runningInEnvWithInjectedSidecars": true,
                        "verificationNoMatchPolicy": "ignore"
                    }
                },
                "startTime": "2026-07-10T11:29:43Z",
                "steps": [
                    {
                        "container": "step-echo-message",
                        "imageID": "registry.access.redhat.com/ubi9/ubi@sha256:9460515b85f2a75278f2043438583c1c377c44bf100178bb653a6c8658304ac7",
                        "name": "echo-message",
                        "provenance": {},
                        "terminated": {
                            "containerID": "containerd://576a23e629a4b9aae3c4634897ec6857a89aaa698a4946259fecf8b0435e2c42",
                            "exitCode": 0,
                            "finishedAt": "2026-07-10T11:29:55Z",
                            "reason": "Completed",
                            "startedAt": "2026-07-10T11:29:55Z"
                        },
                        "terminationReason": "Completed"
                    }
                ],
                "taskSpec": {
                    "params": [
                        {
                            "name": "MESSAGE",
                            "type": "string"
                        }
                    ],
                    "steps": [
                        {
                            "computeResources": {},
                            "image": "registry.access.redhat.com/ubi9/ubi:9.4-1214",
                            "name": "echo-message",
                            "script": "#!/usr/bin/env sh\n\necho hello world \n"
                        }
                    ]
                }
            }
        }
    ],
    "kind": "List",
    "metadata": {
        "resourceVersion": ""
    }
}
